diff --git a/.circleci/config.yml b/.circleci/config.yml index 8f1c349617..44f93b5dc1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -72,18 +72,6 @@ jobs: # - run: yarn wsrun test:circleci @0x/contracts-extensions # TODO(abandeali): Re-enable after this package is complete. # - run: yarn wsrun test:circleci @0x/contracts-coordinator - test-contracts-geth: - docker: - - image: nikolaik/python-nodejs:python3.7-nodejs8 - - image: 0xorg/devnet - working_directory: ~/repo - steps: - - restore_cache: - keys: - - repo-{{ .Environment.CIRCLE_SHA1 }} - # HACK(albrow): we need to sleep 10 seconds to ensure the devnet is - # initialized - - run: sleep 10 && TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-multisig @0x/contracts-utils @0x/contracts-exchange-libs @0x/contracts-erc20 @0x/contracts-erc721 @0x/contracts-erc1155 @0x/contracts-extensions @0x/contracts-asset-proxy @0x/contracts-exchange @0x/contracts-exchange-forwarder @0x/contracts-coordinator @0x/contracts-dev-utils @0x/contracts-staking test-publish: resource_class: medium+ docker: @@ -94,7 +82,9 @@ jobs: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - - run: yarn test:publish:circleci + - run: + command: yarn test:publish:circleci + no_output_timeout: 1800 test-doc-generation: docker: - image: nikolaik/python-nodejs:python3.7-nodejs8 @@ -103,7 +93,9 @@ jobs: - restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - - run: yarn test:generate_docs:circleci + - run: + command: yarn test:generate_docs:circleci + no_output_timeout: 1200 test-rest: docker: - image: nikolaik/python-nodejs:python3.7-nodejs8 @@ -405,22 +397,18 @@ workflows: - test-contracts-rest-ganache-3.0: requires: - build - # Disabled until geth docker image is fixed. - # - test-contracts-geth: - # requires: - # - build - test-rest: requires: - build - static-tests: requires: - build - # - test-publish: - # requires: - # - build - # - test-doc-generation: - # requires: - # - build + - test-publish: + requires: + - build + - test-doc-generation: + requires: + - build - submit-coverage: requires: - test-contracts-rest-ganache-3.0 diff --git a/.github/autolabeler.yml b/.github/autolabeler.yml index e180a71d82..29c46a6e6d 100644 --- a/.github/autolabeler.yml +++ b/.github/autolabeler.yml @@ -32,6 +32,5 @@ contracts: ['contracts'] @0x/json-schemas: ['packages/json-schemas'] @0x/ethereum-types: ['ethereum-types'] @0x/connect: ['packages/connect'] -@0x/fill-scenarios: ['packages/fill-scenarios'] @0x/testnet-faucets: ['packages/testnet-faucets'] @0x/monorepo-scripts: ['packages/monorepo-scripts'] diff --git a/README.md b/README.md index 0fb2ff4141..f500f70992 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,6 @@ These packages are all under development. See [/contracts/README.md](/contracts/ | [`@0x/assert`](/packages/assert) | [![npm](https://img.shields.io/npm/v/@0x/assert.svg)](https://www.npmjs.com/package/@0x/assert) | Type and schema assertions used by our packages | | [`@0x/base-contract`](/packages/base-contract) | [![npm](https://img.shields.io/npm/v/@0x/base-contract.svg)](https://www.npmjs.com/package/@0x/base-contract) | BaseContract used by auto-generated `abi-gen` wrapper contracts | | [`@0x/dev-utils`](/packages/dev-utils) | [![npm](https://img.shields.io/npm/v/@0x/dev-utils.svg)](https://www.npmjs.com/package/@0x/dev-utils) | Dev utils to be shared across 0x packages | -| [`@0x/fill-scenarios`](/packages/fill-scenarios) | [![npm](https://img.shields.io/npm/v/@0x/fill-scenarios.svg)](https://www.npmjs.com/package/@0x/fill-scenarios) | 0x order fill scenario generator | #### Private Packages diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 70ea1b093c..d9d6329dc4 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "3.0.0", + "version": "2.3.0-beta.0", "changes": [ { "note": "Disallow the zero address from being made an authorized address in MixinAuthorizable, and created an archive directory that includes an old version of Ownable", @@ -17,8 +17,17 @@ { "note": "Remove unused dependency on IAuthorizable in IAssetProxy", "pr": 1910 + }, + { + "note": "Add `ERC20BridgeProxy`", + "pr": 2220 + }, + { + "note": "Add `Eth2DaiBridge`", + "pr": 2221 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/contracts/asset-proxy/CHANGELOG.md b/contracts/asset-proxy/CHANGELOG.md index aa67ce34fd..25bcca7ba1 100644 --- a/contracts/asset-proxy/CHANGELOG.md +++ b/contracts/asset-proxy/CHANGELOG.md @@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.3.0-beta.0 - _October 3, 2019_ + + * Disallow the zero address from being made an authorized address in MixinAuthorizable, and created an archive directory that includes an old version of Ownable (#2019) + * Remove `LibAssetProxyIds` contract (#2055) + * Compile and export all contracts, artifacts, and wrappers by default (#2055) + * Remove unused dependency on IAuthorizable in IAssetProxy (#1910) + * Add `ERC20BridgeProxy` (#2220) + * Add `Eth2DaiBridge` (#2221) + ## v2.2.8 - _September 17, 2019_ * Dependencies updated @@ -58,6 +67,9 @@ CHANGELOG ## v2.1.2 - _May 10, 2019_ * Update tests to use contract-built-in `awaitTransactionSuccessAsync` (#1797) + * Make `ERC721Wrapper.setApprovalForAll()` take an owner address instead of a token ID (#1819) + * Automatically set unlimited proxy allowances in `ERC721.setBalancesAndAllowancesAsync()` (#1819) + * Add `setProxyAllowanceForAllAsync()` to `ERC1155ProxyWrapper`. (#1819) ## v2.1.1 - _April 11, 2019_ diff --git a/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol b/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol new file mode 100644 index 0000000000..f1b4401224 --- /dev/null +++ b/contracts/asset-proxy/contracts/src/ERC20BridgeProxy.sol @@ -0,0 +1,126 @@ +/* + + Copyright 2019 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.9; +pragma experimental ABIEncoderV2; + +import "@0x/contracts-utils/contracts/src/LibBytes.sol"; +import "@0x/contracts-utils/contracts/src/LibSafeMath.sol"; +import "@0x/contracts-utils/contracts/src/Authorizable.sol"; +import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; +import "./interfaces/IAssetProxy.sol"; +import "./interfaces/IERC20Bridge.sol"; + + +contract ERC20BridgeProxy is + IAssetProxy, + Authorizable +{ + using LibBytes for bytes; + using LibSafeMath for uint256; + + // @dev Id of this proxy. Also the result of a successful bridge call. + // bytes4(keccak256("ERC20Bridge(address,address,bytes)")) + bytes4 constant private PROXY_ID = 0xdc1600f3; + + /// @dev Calls a bridge contract to transfer `amount` of ERC20 from `from` + /// to `to`. Asserts that the balance of `to` has increased by `amount`. + /// @param assetData Abi-encoded data for this asset proxy encoded as: + /// abi.encodeWithSelector( + /// bytes4 PROXY_ID, + /// address tokenAddress, + /// address bridgeAddress, + /// bytes bridgeData + /// ) + /// @param from Address to transfer asset from. + /// @param to Address to transfer asset to. + /// @param amount Amount of asset to transfer. + function transferFrom( + bytes calldata assetData, + address from, + address to, + uint256 amount + ) + external + onlyAuthorized + { + // Extract asset data fields. + ( + address tokenAddress, + address bridgeAddress, + bytes memory bridgeData + ) = abi.decode( + assetData.sliceDestructive(4, assetData.length), + (address, address, bytes) + ); + + // Remember the balance of `to` before calling the bridge. + uint256 balanceBefore = balanceOf(tokenAddress, to); + // Call the bridge, who should transfer `amount` of `tokenAddress` to + // `to`. + bytes4 success = IERC20Bridge(bridgeAddress).withdrawTo( + tokenAddress, + from, + to, + amount, + bridgeData + ); + // Bridge must return the proxy ID to indicate success. + require(success == PROXY_ID, "BRIDGE_FAILED"); + // Ensure that the balance of `to` has increased by at least `amount`. + require( + balanceBefore.safeAdd(amount) <= balanceOf(tokenAddress, to), + "BRIDGE_UNDERPAY" + ); + } + + /// @dev Gets the proxy id associated with this asset proxy. + /// @return proxyId The proxy id. + function getProxyId() + external + pure + returns (bytes4 proxyId) + { + return PROXY_ID; + } + + /// @dev Retrieves the balance of `owner` for this asset. + /// @return balance The balance of the ERC20 token being transferred by this + /// asset proxy. + function balanceOf(bytes calldata assetData, address owner) + external + view + returns (uint256 balance) + { + (address tokenAddress) = abi.decode( + assetData.sliceDestructive(4, assetData.length), + (address) + ); + return balanceOf(tokenAddress, owner); + } + + /// @dev Retrieves the balance of `owner` given an ERC20 address. + /// @return balance The balance of the ERC20 token for `owner`. + function balanceOf(address tokenAddress, address owner) + private + view + returns (uint256 balance) + { + return IERC20Token(tokenAddress).balanceOf(owner); + } +} diff --git a/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol new file mode 100644 index 0000000000..d724dc5c51 --- /dev/null +++ b/contracts/asset-proxy/contracts/src/bridges/Eth2DaiBridge.sol @@ -0,0 +1,142 @@ +/* + + Copyright 2019 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.9; +pragma experimental ABIEncoderV2; + +import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; +import "../interfaces/IERC20Bridge.sol"; +import "../interfaces/IEth2Dai.sol"; +import "../interfaces/IWallet.sol"; + + +// solhint-disable space-after-comma +contract Eth2DaiBridge is + IERC20Bridge, + IWallet +{ + /* Mainnet addresses */ + address constant public ETH2DAI_ADDRESS = 0x39755357759cE0d7f32dC8dC45414CCa409AE24e; + + /// @dev Callback for `IERC20Bridge`. Tries to buy `amount` of + /// `toTokenAddress` tokens by selling the entirety of the opposing asset + /// (DAI or WETH) to the Eth2Dai contract, then transfers the bought + /// tokens to `to`. + /// @param toTokenAddress The token to give to `to` (either DAI or WETH). + /// @param to The recipient of the bought tokens. + /// @param amount Minimum amount of `toTokenAddress` tokens to buy. + /// @param bridgeData The abi-encoeded "from" token address. + /// @return success The magic bytes if successful. + function withdrawTo( + address toTokenAddress, + address /* from */, + address to, + uint256 amount, + bytes calldata bridgeData + ) + external + returns (bytes4 success) + { + // Decode the bridge data to get the `fromTokenAddress`. + (address fromTokenAddress) = abi.decode(bridgeData, (address)); + + IEth2Dai exchange = _getEth2DaiContract(); + // Grant an allowance to the exchange to spend `fromTokenAddress` token. + IERC20Token(fromTokenAddress).approve(address(exchange), uint256(-1)); + + // Try to sell all of this contract's `fromTokenAddress` token balance. + uint256 boughtAmount = _getEth2DaiContract().sellAllAmount( + address(fromTokenAddress), + IERC20Token(fromTokenAddress).balanceOf(address(this)), + toTokenAddress, + amount + ); + // Transfer the converted `toToken`s to `to`. + _transferERC20Token(toTokenAddress, to, boughtAmount); + return BRIDGE_SUCCESS; + } + + /// @dev `SignatureType.Wallet` callback, so that this bridge can be the maker + /// and sign for itself in orders. Always succeeds. + /// @return magicValue Magic success bytes, always. + function isValidSignature( + bytes32, + bytes calldata + ) + external + view + returns (bytes4 magicValue) + { + return LEGACY_WALLET_MAGIC_VALUE; + } + + /// @dev Overridable way to get the eth2dai contract. + /// @return exchange The Eth2Dai exchange contract. + function _getEth2DaiContract() + internal + view + returns (IEth2Dai exchange) + { + return IEth2Dai(ETH2DAI_ADDRESS); + } + + /// @dev Permissively transfers an ERC20 token that may not adhere to + /// specs. + /// @param tokenAddress The token contract address. + /// @param to The token recipient. + /// @param amount The amount of tokens to transfer. + function _transferERC20Token( + address tokenAddress, + address to, + uint256 amount + ) + private + { + // Transfer tokens. + // We do a raw call so we can check the success separate + // from the return data. + (bool didSucceed, bytes memory returnData) = tokenAddress.call( + abi.encodeWithSelector( + IERC20Token(0).transfer.selector, + to, + amount + ) + ); + if (!didSucceed) { + assembly { revert(add(returnData, 0x20), mload(returnData)) } + } + + // Check return data. + // If there is no return data, we assume the token incorrectly + // does not return a bool. In this case we expect it to revert + // on failure, which was handled above. + // If the token does return data, we require that it is a single + // value that evaluates to true. + assembly { + if returndatasize { + didSucceed := 0 + if eq(returndatasize, 32) { + // First 64 bytes of memory are reserved scratch space + returndatacopy(0, 0, 32) + didSucceed := mload(0) + } + } + } + require(didSucceed, "ERC20_TRANSFER_FAILED"); + } +} diff --git a/contracts/asset-proxy/contracts/src/interfaces/IAssetData.sol b/contracts/asset-proxy/contracts/src/interfaces/IAssetData.sol index 304568f7ce..e5caa7fdcb 100644 --- a/contracts/asset-proxy/contracts/src/interfaces/IAssetData.sol +++ b/contracts/asset-proxy/contracts/src/interfaces/IAssetData.sol @@ -74,4 +74,15 @@ interface IAssetData { bytes32 expectedReturnDataHash ) external; + + /// @dev Function signature for encoding ERC20Bridge assetData. + /// @param tokenAddress Address of token to transfer. + /// @param bridgeAddress Address of the bridge contract. + /// @param bridgeData Arbitrary data to be passed to the bridge contract. + function ERC20Bridge( + address tokenAddress, + address bridgeAddress, + bytes calldata bridgeData + ) + external; } diff --git a/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol b/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol new file mode 100644 index 0000000000..947aa475bb --- /dev/null +++ b/contracts/asset-proxy/contracts/src/interfaces/IERC20Bridge.sol @@ -0,0 +1,43 @@ +/* + + Copyright 2019 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.9; + + +contract IERC20Bridge { + + // @dev Result of a successful bridge call. + bytes4 constant internal BRIDGE_SUCCESS = 0xdc1600f3; + + /// @dev Transfers `amount` of the ERC20 `tokenAddress` from `from` to `to`. + /// @param tokenAddress The address of the ERC20 token to transfer. + /// @param from Address to transfer asset from. + /// @param to Address to transfer asset to. + /// @param amount Amount of asset to transfer. + /// @param bridgeData Arbitrary asset data needed by the bridge contract. + /// @return success The magic bytes `0x37708e9b` if successful. + function withdrawTo( + address tokenAddress, + address from, + address to, + uint256 amount, + bytes calldata bridgeData + ) + external + returns (bytes4 success); +} diff --git a/contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol b/contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol new file mode 100644 index 0000000000..38fab155b6 --- /dev/null +++ b/contracts/asset-proxy/contracts/src/interfaces/IEth2Dai.sol @@ -0,0 +1,38 @@ +/* + + Copyright 2019 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.9; + + +interface IEth2Dai { + + /// @dev Sell `sellAmount` of `fromToken` token and receive `toToken` token. + /// @param fromToken The token being sold. + /// @param sellAmount The amount of `fromToken` token being sold. + /// @param toToken The token being bought. + /// @param minFillAmount Minimum amount of `toToken` token to buy. + /// @return fillAmount Amount of `toToken` bought. + function sellAllAmount( + address fromToken, + uint256 sellAmount, + address toToken, + uint256 minFillAmount + ) + external + returns (uint256 fillAmount); +} diff --git a/contracts/asset-proxy/contracts/src/interfaces/IWallet.sol b/contracts/asset-proxy/contracts/src/interfaces/IWallet.sol new file mode 100644 index 0000000000..2bb323e578 --- /dev/null +++ b/contracts/asset-proxy/contracts/src/interfaces/IWallet.sol @@ -0,0 +1,38 @@ +/* + + Copyright 2019 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.9; +pragma experimental ABIEncoderV2; + + +contract IWallet { + + bytes4 internal constant LEGACY_WALLET_MAGIC_VALUE = 0xb0671381; + + /// @dev Validates a hash with the `Wallet` signature type. + /// @param hash Message hash that is signed. + /// @param signature Proof of signing. + /// @return magicValue `bytes4(0xb0671381)` if the signature check succeeds. + function isValidSignature( + bytes32 hash, + bytes calldata signature + ) + external + view + returns (bytes4 magicValue); +} diff --git a/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol b/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol new file mode 100644 index 0000000000..197ee3eb11 --- /dev/null +++ b/contracts/asset-proxy/contracts/test/TestERC20Bridge.sol @@ -0,0 +1,108 @@ +/* + + Copyright 2019 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.9; +pragma experimental ABIEncoderV2; + +import "../src/interfaces/IERC20Bridge.sol"; + + +/// @dev Test bridge token +contract TestERC20BridgeToken { + mapping (address => uint256) private _balances; + + function addBalance(address owner, int256 amount) + external + { + setBalance(owner, uint256(int256(balanceOf(owner)) + amount)); + } + + function setBalance(address owner, uint256 balance) + public + { + _balances[owner] = balance; + } + + function balanceOf(address owner) + public + view + returns (uint256) + { + return _balances[owner]; + } +} + + +/// @dev Test bridge contract. +contract TestERC20Bridge is + IERC20Bridge +{ + TestERC20BridgeToken public testToken; + + event BridgeWithdrawTo( + address tokenAddress, + address from, + address to, + uint256 amount, + bytes bridgeData + ); + + constructor() public { + testToken = new TestERC20BridgeToken(); + } + + function setTestTokenBalance(address owner, uint256 balance) + external + { + testToken.setBalance(owner, balance); + } + + function withdrawTo( + address tokenAddress, + address from, + address to, + uint256 amount, + bytes calldata bridgeData + ) + external + returns (bytes4) + { + emit BridgeWithdrawTo( + tokenAddress, + from, + to, + amount, + bridgeData + ); + // Unpack the bridgeData. + ( + int256 transferAmount, + bytes memory revertData, + bytes memory returnData + ) = abi.decode(bridgeData, (int256, bytes, bytes)); + + // If `revertData` is set, revert. + if (revertData.length != 0) { + assembly { revert(add(revertData, 0x20), mload(revertData)) } + } + // Increase `to`'s balance by `transferAmount`. + TestERC20BridgeToken(tokenAddress).addBalance(to, transferAmount); + // Return `returnData`. + assembly { return(add(returnData, 0x20), mload(returnData)) } + } +} diff --git a/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol b/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol new file mode 100644 index 0000000000..2f1b07703e --- /dev/null +++ b/contracts/asset-proxy/contracts/test/TestEth2DaiBridge.sol @@ -0,0 +1,202 @@ +/* + + Copyright 2019 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.9; +pragma experimental ABIEncoderV2; + +import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; +import "../src/bridges/Eth2DaiBridge.sol"; +import "../src/interfaces/IEth2Dai.sol"; + + +// solhint-disable no-simple-event-func-name +contract TestEvents { + + event TokenTransfer( + address token, + address from, + address to, + uint256 amount + ); + + event TokenApprove( + address token, + address spender, + uint256 allowance + ); + + function raiseTokenTransfer( + address from, + address to, + uint256 amount + ) + external + { + emit TokenTransfer( + msg.sender, + from, + to, + amount + ); + } + + function raiseTokenApprove(address spender, uint256 allowance) + external + { + emit TokenApprove(msg.sender, spender, allowance); + } +} + + +/// @dev A minimalist ERC20 token. +contract TestToken { + + mapping (address => uint256) public balances; + string private _nextTransferRevertReason; + bytes private _nextTransferReturnData; + + /// @dev Just calls `raiseTokenTransfer()` on the caller. + function transfer(address to, uint256 amount) + external + returns (bool) + { + TestEvents(msg.sender).raiseTokenTransfer(msg.sender, to, amount); + if (bytes(_nextTransferRevertReason).length != 0) { + revert(_nextTransferRevertReason); + } + bytes memory returnData = _nextTransferReturnData; + assembly { return(add(returnData, 0x20), mload(returnData)) } + } + + /// @dev Set the balance for `owner`. + function setBalance(address owner, uint256 balance) + external + { + balances[owner] = balance; + } + + /// @dev Set the behavior of the `transfer()` call. + function setTransferBehavior( + string calldata revertReason, + bytes calldata returnData + ) + external + { + _nextTransferRevertReason = revertReason; + _nextTransferReturnData = returnData; + } + + /// @dev Just calls `raiseTokenApprove()` on the caller. + function approve(address spender, uint256 allowance) + external + returns (bool) + { + TestEvents(msg.sender).raiseTokenApprove(spender, allowance); + return true; + } + + /// @dev Retrieve the balance for `owner`. + function balanceOf(address owner) + external + view + returns (uint256) + { + return balances[owner]; + } +} + + +/// @dev Eth2DaiBridge overridden to mock tokens and +/// implement IEth2Dai. +contract TestEth2DaiBridge is + TestEvents, + IEth2Dai, + Eth2DaiBridge +{ + event SellAllAmount( + address sellToken, + uint256 sellTokenAmount, + address buyToken, + uint256 minimumFillAmount + ); + + mapping (address => TestToken) public testTokens; + string private _nextRevertReason; + uint256 private _nextFillAmount; + + /// @dev Create a token and set this contract's balance. + function createToken(uint256 balance) + external + returns (address tokenAddress) + { + TestToken token = new TestToken(); + testTokens[address(token)] = token; + token.setBalance(address(this), balance); + return address(token); + } + + /// @dev Set the behavior for `IEth2Dai.sellAllAmount()`. + function setFillBehavior(string calldata revertReason, uint256 fillAmount) + external + { + _nextRevertReason = revertReason; + _nextFillAmount = fillAmount; + } + + /// @dev Set the behavior of a token's `transfer()`. + function setTransferBehavior( + address tokenAddress, + string calldata revertReason, + bytes calldata returnData + ) + external + { + testTokens[tokenAddress].setTransferBehavior(revertReason, returnData); + } + + /// @dev Implementation of `IEth2Dai.sellAllAmount()` + function sellAllAmount( + address sellTokenAddress, + uint256 sellTokenAmount, + address buyTokenAddress, + uint256 minimumFillAmount + ) + external + returns (uint256 fillAmount) + { + emit SellAllAmount( + sellTokenAddress, + sellTokenAmount, + buyTokenAddress, + minimumFillAmount + ); + if (bytes(_nextRevertReason).length != 0) { + revert(_nextRevertReason); + } + return _nextFillAmount; + } + + // @dev This contract will double as the Eth2Dai contract. + function _getEth2DaiContract() + internal + view + returns (IEth2Dai) + { + return IEth2Dai(address(this)); + } +} diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index a05fa69afe..bbd5b8a108 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-asset-proxy", - "version": "2.2.8", + "version": "2.3.0-beta.0", "engines": { "node": ">=6.12" }, @@ -35,7 +35,7 @@ "compile:truffle": "truffle compile" }, "config": { - "abis": "./generated-artifacts/@(ERC1155Proxy|ERC20Proxy|ERC721Proxy|IAssetData|IAssetProxy|IAssetProxyDispatcher|IAuthorizable|MixinAssetProxyDispatcher|MixinAuthorizable|MultiAssetProxy|Ownable|StaticCallProxy|TestStaticCallTarget).json", + "abis": "./generated-artifacts/@(ERC1155Proxy|ERC20BridgeProxy|ERC20Proxy|ERC721Proxy|Eth2DaiBridge|IAssetData|IAssetProxy|IAssetProxyDispatcher|IAuthorizable|IERC20Bridge|IEth2Dai|IWallet|MixinAssetProxyDispatcher|MixinAuthorizable|MultiAssetProxy|Ownable|StaticCallProxy|TestERC20Bridge|TestEth2DaiBridge|TestStaticCallTarget).json", "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually." }, "repository": { @@ -48,11 +48,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -71,17 +71,17 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-erc1155": "^1.1.15", - "@0x/contracts-erc20": "^2.2.14", - "@0x/contracts-erc721": "^2.1.15", - "@0x/contracts-utils": "^3.2.4", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-erc1155": "^1.2.0-beta.0", + "@0x/contracts-erc20": "^2.3.0-beta.0", + "@0x/contracts-erc721": "^2.2.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/contracts/asset-proxy/src/artifacts.ts b/contracts/asset-proxy/src/artifacts.ts index 85f9cbc640..a7145fd6c5 100644 --- a/contracts/asset-proxy/src/artifacts.ts +++ b/contracts/asset-proxy/src/artifacts.ts @@ -6,30 +6,44 @@ import { ContractArtifact } from 'ethereum-types'; import * as ERC1155Proxy from '../generated-artifacts/ERC1155Proxy.json'; +import * as ERC20BridgeProxy from '../generated-artifacts/ERC20BridgeProxy.json'; import * as ERC20Proxy from '../generated-artifacts/ERC20Proxy.json'; import * as ERC721Proxy from '../generated-artifacts/ERC721Proxy.json'; +import * as Eth2DaiBridge from '../generated-artifacts/Eth2DaiBridge.json'; import * as IAssetData from '../generated-artifacts/IAssetData.json'; import * as IAssetProxy from '../generated-artifacts/IAssetProxy.json'; import * as IAssetProxyDispatcher from '../generated-artifacts/IAssetProxyDispatcher.json'; import * as IAuthorizable from '../generated-artifacts/IAuthorizable.json'; +import * as IERC20Bridge from '../generated-artifacts/IERC20Bridge.json'; +import * as IEth2Dai from '../generated-artifacts/IEth2Dai.json'; +import * as IWallet from '../generated-artifacts/IWallet.json'; import * as MixinAssetProxyDispatcher from '../generated-artifacts/MixinAssetProxyDispatcher.json'; import * as MixinAuthorizable from '../generated-artifacts/MixinAuthorizable.json'; import * as MultiAssetProxy from '../generated-artifacts/MultiAssetProxy.json'; import * as Ownable from '../generated-artifacts/Ownable.json'; import * as StaticCallProxy from '../generated-artifacts/StaticCallProxy.json'; +import * as TestERC20Bridge from '../generated-artifacts/TestERC20Bridge.json'; +import * as TestEth2DaiBridge from '../generated-artifacts/TestEth2DaiBridge.json'; import * as TestStaticCallTarget from '../generated-artifacts/TestStaticCallTarget.json'; export const artifacts = { MixinAssetProxyDispatcher: MixinAssetProxyDispatcher as ContractArtifact, MixinAuthorizable: MixinAuthorizable as ContractArtifact, Ownable: Ownable as ContractArtifact, ERC1155Proxy: ERC1155Proxy as ContractArtifact, + ERC20BridgeProxy: ERC20BridgeProxy as ContractArtifact, ERC20Proxy: ERC20Proxy as ContractArtifact, ERC721Proxy: ERC721Proxy as ContractArtifact, MultiAssetProxy: MultiAssetProxy as ContractArtifact, StaticCallProxy: StaticCallProxy as ContractArtifact, + Eth2DaiBridge: Eth2DaiBridge as ContractArtifact, IAssetData: IAssetData as ContractArtifact, IAssetProxy: IAssetProxy as ContractArtifact, IAssetProxyDispatcher: IAssetProxyDispatcher as ContractArtifact, IAuthorizable: IAuthorizable as ContractArtifact, + IERC20Bridge: IERC20Bridge as ContractArtifact, + IEth2Dai: IEth2Dai as ContractArtifact, + IWallet: IWallet as ContractArtifact, + TestERC20Bridge: TestERC20Bridge as ContractArtifact, + TestEth2DaiBridge: TestEth2DaiBridge as ContractArtifact, TestStaticCallTarget: TestStaticCallTarget as ContractArtifact, }; diff --git a/contracts/asset-proxy/src/wrappers.ts b/contracts/asset-proxy/src/wrappers.ts index a1d2bcb46d..a87eda1f77 100644 --- a/contracts/asset-proxy/src/wrappers.ts +++ b/contracts/asset-proxy/src/wrappers.ts @@ -4,15 +4,22 @@ * ----------------------------------------------------------------------------- */ export * from '../generated-wrappers/erc1155_proxy'; +export * from '../generated-wrappers/erc20_bridge_proxy'; export * from '../generated-wrappers/erc20_proxy'; export * from '../generated-wrappers/erc721_proxy'; +export * from '../generated-wrappers/eth2_dai_bridge'; export * from '../generated-wrappers/i_asset_data'; export * from '../generated-wrappers/i_asset_proxy'; export * from '../generated-wrappers/i_asset_proxy_dispatcher'; export * from '../generated-wrappers/i_authorizable'; +export * from '../generated-wrappers/i_erc20_bridge'; +export * from '../generated-wrappers/i_eth2_dai'; +export * from '../generated-wrappers/i_wallet'; export * from '../generated-wrappers/mixin_asset_proxy_dispatcher'; export * from '../generated-wrappers/mixin_authorizable'; export * from '../generated-wrappers/multi_asset_proxy'; export * from '../generated-wrappers/ownable'; export * from '../generated-wrappers/static_call_proxy'; +export * from '../generated-wrappers/test_erc20_bridge'; +export * from '../generated-wrappers/test_eth2_dai_bridge'; export * from '../generated-wrappers/test_static_call_target'; diff --git a/contracts/asset-proxy/test/erc20bridge_proxy.ts b/contracts/asset-proxy/test/erc20bridge_proxy.ts new file mode 100644 index 0000000000..358b0038b2 --- /dev/null +++ b/contracts/asset-proxy/test/erc20bridge_proxy.ts @@ -0,0 +1,299 @@ +import { + blockchainTests, + constants, + expect, + getRandomInteger, + hexLeftPad, + hexRightPad, + hexSlice, + Numberish, + randomAddress, +} from '@0x/contracts-test-utils'; +import { AssetProxyId } from '@0x/types'; +import { AbiEncoder, AuthorizableRevertErrors, BigNumber, StringRevertError } from '@0x/utils'; +import { DecodedLogs } from 'ethereum-types'; +import * as _ from 'lodash'; + +import { + artifacts, + ERC20BridgeProxyContract, + TestERC20BridgeBridgeWithdrawToEventArgs, + TestERC20BridgeContract, +} from '../src'; + +blockchainTests.resets('ERC20BridgeProxy unit tests', env => { + const PROXY_ID = AssetProxyId.ERC20Bridge; + const BRIDGE_SUCCESS_RETURN_DATA = hexRightPad(PROXY_ID); + let owner: string; + let badCaller: string; + let assetProxy: ERC20BridgeProxyContract; + let bridgeContract: TestERC20BridgeContract; + let testTokenAddress: string; + + before(async () => { + [owner, badCaller] = await env.getAccountAddressesAsync(); + assetProxy = await ERC20BridgeProxyContract.deployFrom0xArtifactAsync( + artifacts.ERC20BridgeProxy, + env.provider, + env.txDefaults, + artifacts, + ); + bridgeContract = await TestERC20BridgeContract.deployFrom0xArtifactAsync( + artifacts.TestERC20Bridge, + env.provider, + env.txDefaults, + artifacts, + ); + testTokenAddress = await bridgeContract.testToken.callAsync(); + await assetProxy.addAuthorizedAddress.awaitTransactionSuccessAsync(owner); + }); + + interface AssetDataOpts { + tokenAddress: string; + bridgeAddress: string; + bridgeData: BridgeDataOpts; + } + + interface BridgeDataOpts { + transferAmount: Numberish; + revertError?: string; + returnData: string; + } + + function createAssetData(opts?: Partial): AssetDataOpts { + return _.merge( + { + tokenAddress: testTokenAddress, + bridgeAddress: bridgeContract.address, + bridgeData: createBridgeData(), + }, + opts, + ); + } + + function createBridgeData(opts?: Partial): BridgeDataOpts { + return _.merge( + { + transferAmount: constants.ZERO_AMOUNT, + returnData: BRIDGE_SUCCESS_RETURN_DATA, + }, + opts, + ); + } + + function encodeAssetData(opts: AssetDataOpts): string { + const encoder = AbiEncoder.createMethod('ERC20BridgeProxy', [ + { name: 'tokenAddress', type: 'address' }, + { name: 'bridgeAddress', type: 'address' }, + { name: 'bridgeData', type: 'bytes' }, + ]); + return encoder.encode([opts.tokenAddress, opts.bridgeAddress, encodeBridgeData(opts.bridgeData)]); + } + + function encodeBridgeData(opts: BridgeDataOpts): string { + const encoder = AbiEncoder.create([ + { name: 'transferAmount', type: 'int256' }, + { name: 'revertData', type: 'bytes' }, + { name: 'returnData', type: 'bytes' }, + ]); + const revertErrorBytes = + opts.revertError !== undefined ? new StringRevertError(opts.revertError).encode() : '0x'; + return encoder.encode([new BigNumber(opts.transferAmount), revertErrorBytes, opts.returnData]); + } + + async function setTestTokenBalanceAsync(_owner: string, balance: Numberish): Promise { + await bridgeContract.setTestTokenBalance.awaitTransactionSuccessAsync(_owner, new BigNumber(balance)); + } + + describe('transferFrom()', () => { + interface TransferFromOpts { + assetData: AssetDataOpts; + from: string; + to: string; + amount: Numberish; + } + + function createTransferFromOpts(opts?: Partial): TransferFromOpts { + const transferAmount = _.get(opts, ['amount'], getRandomInteger(1, 100e18)) as BigNumber; + return _.merge( + { + assetData: createAssetData({ + bridgeData: createBridgeData({ + transferAmount, + }), + }), + from: randomAddress(), + to: randomAddress(), + amount: transferAmount, + }, + opts, + ); + } + + async function transferFromAsync(opts?: Partial, caller?: string): Promise { + const _opts = createTransferFromOpts(opts); + const { logs } = await assetProxy.transferFrom.awaitTransactionSuccessAsync( + encodeAssetData(_opts.assetData), + _opts.from, + _opts.to, + new BigNumber(_opts.amount), + { from: caller }, + ); + return (logs as any) as DecodedLogs; + } + + it('succeeds if the bridge succeeds and balance increases by `amount`', async () => { + const tx = transferFromAsync(); + return expect(tx).to.be.fulfilled(''); + }); + + it('succeeds if balance increases more than `amount`', async () => { + const amount = getRandomInteger(1, 100e18); + const tx = transferFromAsync({ + amount, + assetData: createAssetData({ + bridgeData: createBridgeData({ + transferAmount: amount.plus(1), + }), + }), + }); + return expect(tx).to.be.fulfilled(''); + }); + + it('passes the correct arguments to the bridge contract', async () => { + const opts = createTransferFromOpts(); + const logs = await transferFromAsync(opts); + expect(logs.length).to.eq(1); + const args = logs[0].args as TestERC20BridgeBridgeWithdrawToEventArgs; + expect(args.tokenAddress).to.eq(opts.assetData.tokenAddress); + expect(args.from).to.eq(opts.from); + expect(args.to).to.eq(opts.to); + expect(args.amount).to.bignumber.eq(opts.amount); + expect(args.bridgeData).to.eq(encodeBridgeData(opts.assetData.bridgeData)); + }); + + it('fails if not called by an authorized address', async () => { + const tx = transferFromAsync({}, badCaller); + return expect(tx).to.revertWith(new AuthorizableRevertErrors.SenderNotAuthorizedError(badCaller)); + }); + + it('fails if asset data is truncated', async () => { + const opts = createTransferFromOpts(); + const truncatedAssetData = hexSlice(encodeAssetData(opts.assetData), 0, -1); + const tx = assetProxy.transferFrom.awaitTransactionSuccessAsync( + truncatedAssetData, + opts.from, + opts.to, + new BigNumber(opts.amount), + ); + return expect(tx).to.be.rejected(); + }); + + it('fails if bridge returns nothing', async () => { + const tx = transferFromAsync({ + assetData: createAssetData({ + bridgeData: createBridgeData({ + returnData: '0x', + }), + }), + }); + // This will actually revert when the AP tries to decode the return + // value. + return expect(tx).to.be.rejected(); + }); + + it('fails if bridge returns true', async () => { + const tx = transferFromAsync({ + assetData: createAssetData({ + bridgeData: createBridgeData({ + returnData: hexLeftPad('0x1'), + }), + }), + }); + // This will actually revert when the AP tries to decode the return + // value. + return expect(tx).to.be.rejected(); + }); + + it('fails if bridge returns 0x1', async () => { + const tx = transferFromAsync({ + assetData: createAssetData({ + bridgeData: createBridgeData({ + returnData: hexRightPad('0x1'), + }), + }), + }); + return expect(tx).to.revertWith('BRIDGE_FAILED'); + }); + + it('fails if bridge is an EOA', async () => { + const tx = transferFromAsync({ + assetData: createAssetData({ + bridgeAddress: randomAddress(), + }), + }); + // This will actually revert when the AP tries to decode the return + // value. + return expect(tx).to.be.rejected(); + }); + + it('fails if bridge reverts', async () => { + const revertError = 'FOOBAR'; + const tx = transferFromAsync({ + assetData: createAssetData({ + bridgeData: createBridgeData({ + revertError, + }), + }), + }); + return expect(tx).to.revertWith(revertError); + }); + + it('fails if balance of `to` increases by less than `amount`', async () => { + const amount = getRandomInteger(1, 100e18); + const tx = transferFromAsync({ + amount, + assetData: createAssetData({ + bridgeData: createBridgeData({ + transferAmount: amount.minus(1), + }), + }), + }); + return expect(tx).to.revertWith('BRIDGE_UNDERPAY'); + }); + + it('fails if balance of `to` decreases', async () => { + const toAddress = randomAddress(); + await setTestTokenBalanceAsync(toAddress, 1e18); + const tx = transferFromAsync({ + to: toAddress, + assetData: createAssetData({ + bridgeData: createBridgeData({ + transferAmount: -1, + }), + }), + }); + return expect(tx).to.revertWith('BRIDGE_UNDERPAY'); + }); + }); + + describe('balanceOf()', () => { + it('retrieves the balance of the encoded token', async () => { + const _owner = randomAddress(); + const balance = getRandomInteger(1, 100e18); + await bridgeContract.setTestTokenBalance.awaitTransactionSuccessAsync(_owner, balance); + const assetData = createAssetData({ + tokenAddress: testTokenAddress, + }); + const actualBalance = await assetProxy.balanceOf.callAsync(encodeAssetData(assetData), _owner); + expect(actualBalance).to.bignumber.eq(balance); + }); + }); + + describe('getProxyId()', () => { + it('returns the correct proxy ID', async () => { + const proxyId = await assetProxy.getProxyId.callAsync(); + expect(proxyId).to.eq(PROXY_ID); + }); + }); +}); diff --git a/contracts/asset-proxy/test/eth2dai_bridge.ts b/contracts/asset-proxy/test/eth2dai_bridge.ts new file mode 100644 index 0000000000..f8958a00ef --- /dev/null +++ b/contracts/asset-proxy/test/eth2dai_bridge.ts @@ -0,0 +1,192 @@ +import { + blockchainTests, + constants, + expect, + filterLogsToArguments, + getRandomInteger, + hexLeftPad, + hexRandom, + Numberish, + randomAddress, + TransactionHelper, +} from '@0x/contracts-test-utils'; +import { AssetProxyId } from '@0x/types'; +import { BigNumber } from '@0x/utils'; +import { DecodedLogs } from 'ethereum-types'; +import * as _ from 'lodash'; + +import { + artifacts, + TestEth2DaiBridgeContract, + TestEth2DaiBridgeEvents, + TestEth2DaiBridgeSellAllAmountEventArgs, + TestEth2DaiBridgeTokenApproveEventArgs, + TestEth2DaiBridgeTokenTransferEventArgs, +} from '../src'; + +blockchainTests.resets('Eth2DaiBridge unit tests', env => { + const txHelper = new TransactionHelper(env.web3Wrapper, artifacts); + let testContract: TestEth2DaiBridgeContract; + + before(async () => { + testContract = await TestEth2DaiBridgeContract.deployFrom0xArtifactAsync( + artifacts.TestEth2DaiBridge, + env.provider, + env.txDefaults, + artifacts, + ); + }); + + describe('isValidSignature()', () => { + it('returns success bytes', async () => { + const LEGACY_WALLET_MAGIC_VALUE = '0xb0671381'; + const result = await testContract.isValidSignature.callAsync(hexRandom(), hexRandom(_.random(0, 32))); + expect(result).to.eq(LEGACY_WALLET_MAGIC_VALUE); + }); + }); + + describe('withdrawTo()', () => { + interface WithdrawToOpts { + toTokenAddress?: string; + fromTokenAddress?: string; + toAddress: string; + amount: Numberish; + fromTokenBalance: Numberish; + revertReason: string; + fillAmount: Numberish; + toTokentransferRevertReason: string; + toTokenTransferReturnData: string; + } + + interface WithdrawToResult { + opts: WithdrawToOpts; + result: string; + logs: DecodedLogs; + } + + function createWithdrawToOpts(opts?: Partial): WithdrawToOpts { + return { + toAddress: randomAddress(), + amount: getRandomInteger(1, 100e18), + revertReason: '', + fillAmount: getRandomInteger(1, 100e18), + fromTokenBalance: getRandomInteger(1, 100e18), + toTokentransferRevertReason: '', + toTokenTransferReturnData: hexLeftPad(1), + ...opts, + }; + } + + async function withdrawToAsync(opts?: Partial): Promise { + const _opts = createWithdrawToOpts(opts); + // Set the fill behavior. + await testContract.setFillBehavior.awaitTransactionSuccessAsync( + _opts.revertReason, + new BigNumber(_opts.fillAmount), + ); + // Create tokens and balances. + if (_opts.fromTokenAddress === undefined) { + [_opts.fromTokenAddress] = await txHelper.getResultAndReceiptAsync( + testContract.createToken, + new BigNumber(_opts.fromTokenBalance), + ); + } + if (_opts.toTokenAddress === undefined) { + [_opts.toTokenAddress] = await txHelper.getResultAndReceiptAsync( + testContract.createToken, + constants.ZERO_AMOUNT, + ); + } + // Set the transfer behavior of `toTokenAddress`. + await testContract.setTransferBehavior.awaitTransactionSuccessAsync( + _opts.toTokenAddress, + _opts.toTokentransferRevertReason, + _opts.toTokenTransferReturnData, + ); + // Call withdrawTo(). + const [result, { logs }] = await txHelper.getResultAndReceiptAsync( + testContract.withdrawTo, + // "to" token address + _opts.toTokenAddress, + // Random from address. + randomAddress(), + // To address. + _opts.toAddress, + new BigNumber(_opts.amount), + // ABI-encode the "from" token address as the bridge data. + hexLeftPad(_opts.fromTokenAddress as string), + ); + return { + opts: _opts, + result, + logs: (logs as any) as DecodedLogs, + }; + } + + it('returns magic bytes on success', async () => { + const BRIDGE_SUCCESS_RETURN_DATA = AssetProxyId.ERC20Bridge; + const { result } = await withdrawToAsync(); + expect(result).to.eq(BRIDGE_SUCCESS_RETURN_DATA); + }); + + it('calls `Eth2Dai.sellAllAmount()`', async () => { + const { opts, logs } = await withdrawToAsync(); + const transfers = filterLogsToArguments( + logs, + TestEth2DaiBridgeEvents.SellAllAmount, + ); + expect(transfers.length).to.eq(1); + expect(transfers[0].sellToken).to.eq(opts.fromTokenAddress); + expect(transfers[0].buyToken).to.eq(opts.toTokenAddress); + expect(transfers[0].sellTokenAmount).to.bignumber.eq(opts.fromTokenBalance); + expect(transfers[0].minimumFillAmount).to.bignumber.eq(opts.amount); + }); + + it('sets an unlimited allowance on the `fromTokenAddress` token', async () => { + const { opts, logs } = await withdrawToAsync(); + const approvals = filterLogsToArguments( + logs, + TestEth2DaiBridgeEvents.TokenApprove, + ); + expect(approvals.length).to.eq(1); + expect(approvals[0].token).to.eq(opts.fromTokenAddress); + expect(approvals[0].spender).to.eq(testContract.address); + expect(approvals[0].allowance).to.bignumber.eq(constants.MAX_UINT256); + }); + + it('transfers filled amount to `to`', async () => { + const { opts, logs } = await withdrawToAsync(); + const transfers = filterLogsToArguments( + logs, + TestEth2DaiBridgeEvents.TokenTransfer, + ); + expect(transfers.length).to.eq(1); + expect(transfers[0].token).to.eq(opts.toTokenAddress); + expect(transfers[0].from).to.eq(testContract.address); + expect(transfers[0].to).to.eq(opts.toAddress); + expect(transfers[0].amount).to.bignumber.eq(opts.fillAmount); + }); + + it('fails if `Eth2Dai.sellAllAmount()` reverts', async () => { + const opts = createWithdrawToOpts({ revertReason: 'FOOBAR' }); + const tx = withdrawToAsync(opts); + return expect(tx).to.revertWith(opts.revertReason); + }); + + it('fails if `toTokenAddress.transfer()` reverts', async () => { + const opts = createWithdrawToOpts({ toTokentransferRevertReason: 'FOOBAR' }); + const tx = withdrawToAsync(opts); + return expect(tx).to.revertWith(opts.toTokentransferRevertReason); + }); + + it('fails if `toTokenAddress.transfer()` returns falsey', async () => { + const opts = createWithdrawToOpts({ toTokenTransferReturnData: hexLeftPad(0) }); + const tx = withdrawToAsync(opts); + return expect(tx).to.revertWith('ERC20_TRANSFER_FAILED'); + }); + + it('succeeds if `toTokenAddress.transfer()` returns truthy', async () => { + await withdrawToAsync({ toTokenTransferReturnData: hexLeftPad(100) }); + }); + }); +}); diff --git a/contracts/asset-proxy/tsconfig.json b/contracts/asset-proxy/tsconfig.json index b601856b16..b3faf3e356 100644 --- a/contracts/asset-proxy/tsconfig.json +++ b/contracts/asset-proxy/tsconfig.json @@ -4,17 +4,24 @@ "include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"], "files": [ "generated-artifacts/ERC1155Proxy.json", + "generated-artifacts/ERC20BridgeProxy.json", "generated-artifacts/ERC20Proxy.json", "generated-artifacts/ERC721Proxy.json", + "generated-artifacts/Eth2DaiBridge.json", "generated-artifacts/IAssetData.json", "generated-artifacts/IAssetProxy.json", "generated-artifacts/IAssetProxyDispatcher.json", "generated-artifacts/IAuthorizable.json", + "generated-artifacts/IERC20Bridge.json", + "generated-artifacts/IEth2Dai.json", + "generated-artifacts/IWallet.json", "generated-artifacts/MixinAssetProxyDispatcher.json", "generated-artifacts/MixinAuthorizable.json", "generated-artifacts/MultiAssetProxy.json", "generated-artifacts/Ownable.json", "generated-artifacts/StaticCallProxy.json", + "generated-artifacts/TestERC20Bridge.json", + "generated-artifacts/TestEth2DaiBridge.json", "generated-artifacts/TestStaticCallTarget.json" ], "exclude": ["./deploy/solc/solc_bin"] diff --git a/contracts/coordinator/CHANGELOG.json b/contracts/coordinator/CHANGELOG.json index 93ecd5e65e..b3f739d5e1 100644 --- a/contracts/coordinator/CHANGELOG.json +++ b/contracts/coordinator/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "3.0.0", + "version": "2.1.0-beta.0", "changes": [ { "note": "Add chainId to domain separator", @@ -42,7 +42,8 @@ "note": "Compile and export all contracts, artifacts, and wrappers by default", "pr": 2055 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/contracts/coordinator/CHANGELOG.md b/contracts/coordinator/CHANGELOG.md index 839affd07a..9ef81f5645 100644 --- a/contracts/coordinator/CHANGELOG.md +++ b/contracts/coordinator/CHANGELOG.md @@ -5,6 +5,19 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.0-beta.0 - _October 3, 2019_ + + * Add chainId to domain separator (#1742) + * Inherit Exchange domain constants from `exchange-libs` to reduce code duplication (#1742) + * Update domain separator (#1742) + * Refactor contract to use new ITransactions interface (#1753) + * Add verifyingContractIfExists arg to LibEIP712CoordinatorDomain constructor (#1753) + * Remove LibZeroExTransaction contract (#1753) + * Update tests for arbitrary fee tokens (ZEIP-28). (#1819) + * Update for new `marketXOrders` consolidation. (#2042) + * Use built in selectors instead of hard coded constants (#2055) + * Compile and export all contracts, artifacts, and wrappers by default (#2055) + ## v2.0.13 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/coordinator/package.json b/contracts/coordinator/package.json index 63467aee7e..17b480ea21 100644 --- a/contracts/coordinator/package.json +++ b/contracts/coordinator/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-coordinator", - "version": "2.0.13", + "version": "2.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -48,11 +48,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -71,18 +71,18 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-asset-proxy": "^2.2.8", - "@0x/contracts-erc20": "^2.2.14", - "@0x/contracts-exchange": "^2.1.14", - "@0x/contracts-exchange-libs": "^3.0.8", - "@0x/contracts-utils": "^3.2.4", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-asset-proxy": "^2.3.0-beta.0", + "@0x/contracts-erc20": "^2.3.0-beta.0", + "@0x/contracts-exchange": "^2.2.0-beta.0", + "@0x/contracts-exchange-libs": "^3.1.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/contracts/dev-utils/CHANGELOG.json b/contracts/dev-utils/CHANGELOG.json index b7fb45f384..b2bafed5a6 100644 --- a/contracts/dev-utils/CHANGELOG.json +++ b/contracts/dev-utils/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "1.0.0", + "version": "0.1.0-beta.0", "changes": [ { "note": "Use built in selectors instead of hard coded constants", @@ -18,7 +18,8 @@ "note": "`run_mocha` package script runs with `UNLIMITED_CONTRACT_SIZE=true` environment variable.", "pr": 2075 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/contracts/dev-utils/CHANGELOG.md b/contracts/dev-utils/CHANGELOG.md index 6630b989ff..c2e84ae8ca 100644 --- a/contracts/dev-utils/CHANGELOG.md +++ b/contracts/dev-utils/CHANGELOG.md @@ -5,6 +5,13 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.1.0-beta.0 - _October 3, 2019_ + + * Use built in selectors instead of hard coded constants (#2055) + * Compile and export all contracts, artifacts, and wrappers by default (#2055) + * Add `marketBuy/SellOrdersNoThrow` and `marketBuy/SellOrdersFillOrKill` to `LibTransactionDecoder`. (#2075) + * `run_mocha` package script runs with `UNLIMITED_CONTRACT_SIZE=true` environment variable. (#2075) + ## v0.0.10 - _September 17, 2019_ * Dependencies updated @@ -53,3 +60,5 @@ CHANGELOG * Refactor `LibAssetData` balance/allowance checks to never revert (#1848) * Refactor `OrderValidationUtils` to calculate `fillableTakerAssetAmount` (#1848) * Add support for StaticCallProxy (#1863) + * Add `OrderTransferSimulationUtils` contract for simulating order transfers on-chain (#1868) + * Updated to use the new rich error pattern from @0x/contracts-exchange (#1913) diff --git a/contracts/dev-utils/package.json b/contracts/dev-utils/package.json index 120ef6c080..b88780e996 100644 --- a/contracts/dev-utils/package.json +++ b/contracts/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-dev-utils", - "version": "0.0.10", + "version": "0.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -49,11 +49,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/dev-utils/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -72,20 +72,20 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-asset-proxy": "^2.2.8", - "@0x/contracts-erc1155": "^1.1.15", - "@0x/contracts-erc20": "^2.2.14", - "@0x/contracts-erc721": "^2.1.15", - "@0x/contracts-exchange": "^2.1.14", - "@0x/contracts-exchange-libs": "^3.0.8", - "@0x/contracts-utils": "^3.2.4", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-asset-proxy": "^2.3.0-beta.0", + "@0x/contracts-erc1155": "^1.2.0-beta.0", + "@0x/contracts-erc20": "^2.3.0-beta.0", + "@0x/contracts-erc721": "^2.2.0-beta.0", + "@0x/contracts-exchange": "^2.2.0-beta.0", + "@0x/contracts-exchange-libs": "^3.1.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1" }, "publishConfig": { diff --git a/contracts/dev-utils/test/order_validation_utils.ts b/contracts/dev-utils/test/order_validation_utils.ts index c222131a01..8d4087fb75 100644 --- a/contracts/dev-utils/test/order_validation_utils.ts +++ b/contracts/dev-utils/test/order_validation_utils.ts @@ -94,7 +94,7 @@ describe('OrderValidationUtils/OrderTransferSimulatorUtils', () => { txDefaults, artifacts, ); - const exchangeWrapper = new ExchangeWrapper(exchange, provider); + const exchangeWrapper = new ExchangeWrapper(exchange); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); await exchangeWrapper.registerAssetProxyAsync(erc721Proxy.address, owner); await exchangeWrapper.registerAssetProxyAsync(multiAssetProxy.address, owner); diff --git a/contracts/erc1155/CHANGELOG.json b/contracts/erc1155/CHANGELOG.json index 4ba2fafdcf..b2d85d92cc 100644 --- a/contracts/erc1155/CHANGELOG.json +++ b/contracts/erc1155/CHANGELOG.json @@ -1,12 +1,13 @@ [ { - "version": "1.1.16", + "version": "1.2.0-beta.0", "changes": [ { "note": "Add `mintKnownFungibleTokensAsync()`, `isNonFungibleItemAsync()`, `isFungibleItemAsync()`, `getOwnerOfAsync()`, `getBalanceAsync()` to `Erc1155Wrapper`.", "pr": 1819 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/contracts/erc1155/CHANGELOG.md b/contracts/erc1155/CHANGELOG.md index fbc7809552..458e81314a 100644 --- a/contracts/erc1155/CHANGELOG.md +++ b/contracts/erc1155/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.2.0-beta.0 - _October 3, 2019_ + + * Add `mintKnownFungibleTokensAsync()`, `isNonFungibleItemAsync()`, `isFungibleItemAsync()`, `getOwnerOfAsync()`, `getBalanceAsync()` to `Erc1155Wrapper`. (#1819) + ## v1.1.15 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/erc1155/package.json b/contracts/erc1155/package.json index 27ef2a3687..f931f4ec11 100644 --- a/contracts/erc1155/package.json +++ b/contracts/erc1155/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc1155", - "version": "1.1.15", + "version": "1.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -48,10 +48,10 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -70,14 +70,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/contracts-utils": "^3.2.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index 1380664901..4c349e24df 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.3.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "2.2.14", diff --git a/contracts/erc20/CHANGELOG.md b/contracts/erc20/CHANGELOG.md index c4719e70fc..66b597911c 100644 --- a/contracts/erc20/CHANGELOG.md +++ b/contracts/erc20/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.3.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v2.2.14 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index 5524dd552e..6e2d280cfc 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc20", - "version": "2.2.14", + "version": "2.3.0-beta.0", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -69,13 +69,13 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-utils": "^3.2.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/erc721/CHANGELOG.json b/contracts/erc721/CHANGELOG.json index e57032dd49..7b77e700de 100644 --- a/contracts/erc721/CHANGELOG.json +++ b/contracts/erc721/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "2.1.15", diff --git a/contracts/erc721/CHANGELOG.md b/contracts/erc721/CHANGELOG.md index 96b580c4aa..ac1e62b0ba 100644 --- a/contracts/erc721/CHANGELOG.md +++ b/contracts/erc721/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v2.1.15 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/erc721/package.json b/contracts/erc721/package.json index 99773fc148..cc3c04f2a1 100644 --- a/contracts/erc721/package.json +++ b/contracts/erc721/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc721", - "version": "2.1.15", + "version": "2.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -48,11 +48,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -71,13 +71,13 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-utils": "^3.2.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/exchange-forwarder/CHANGELOG.json b/contracts/exchange-forwarder/CHANGELOG.json index fe5484a869..59f2d977e5 100644 --- a/contracts/exchange-forwarder/CHANGELOG.json +++ b/contracts/exchange-forwarder/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "3.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "3.0.12", diff --git a/contracts/exchange-forwarder/CHANGELOG.md b/contracts/exchange-forwarder/CHANGELOG.md index 8cab4131f1..ec731fef65 100644 --- a/contracts/exchange-forwarder/CHANGELOG.md +++ b/contracts/exchange-forwarder/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v3.0.12 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol index 9218aa7e93..235716eecf 100644 --- a/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol +++ b/contracts/exchange-forwarder/contracts/src/MixinExchangeWrapper.sol @@ -27,10 +27,12 @@ import "@0x/contracts-exchange-libs/contracts/src/LibMath.sol"; import "@0x/contracts-exchange/contracts/src/interfaces/IExchange.sol"; import "./libs/LibConstants.sol"; import "./libs/LibForwarderRichErrors.sol"; +import "./MixinAssets.sol"; contract MixinExchangeWrapper is - LibConstants + LibConstants, + MixinAssets { using LibSafeMath for uint256; @@ -57,25 +59,12 @@ contract MixinExchangeWrapper is ); address exchange = address(EXCHANGE); - - // Call `fillOrder` and handle any exceptions gracefully - assembly { - let success := call( - gas, // forward all gas - exchange, // call address of Exchange contract - 0, // transfer 0 wei - add(fillOrderCalldata, 32), // pointer to start of input (skip array length in first 32 bytes) - mload(fillOrderCalldata), // length of input - fillOrderCalldata, // write output over input - 128 // output size is 128 bytes - ) - if success { - mstore(fillResults, mload(fillOrderCalldata)) - mstore(add(fillResults, 32), mload(add(fillOrderCalldata, 32))) - mstore(add(fillResults, 64), mload(add(fillOrderCalldata, 64))) - mstore(add(fillResults, 96), mload(add(fillOrderCalldata, 96))) - } + (bool didSucceed, bytes memory returnData) = exchange.call(fillOrderCalldata); + if (didSucceed) { + assert(returnData.length == 160); + fillResults = abi.decode(returnData, (LibFillResults.FillResults)); } + // fillResults values will be 0 by default if call was unsuccessful return fillResults; } @@ -98,7 +87,7 @@ contract MixinExchangeWrapper is uint256 makerAssetAcquiredAmount ) { - // No fee or percentage fee + // No taker fee or percentage fee if (order.takerFee == 0 || order.takerFeeAssetData.equals(order.makerAssetData)) { // Attempt to sell the remaining amount of WETH LibFillResults.FillResults memory singleFillResults = _fillOrderNoThrow( @@ -107,16 +96,17 @@ contract MixinExchangeWrapper is signature ); - wethSpentAmount = singleFillResults.takerAssetFilledAmount; + wethSpentAmount = singleFillResults.takerAssetFilledAmount + .safeAdd(singleFillResults.protocolFeePaid); // Subtract fee from makerAssetFilledAmount for the net amount acquired. - makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount.safeSub( - singleFillResults.takerFeePaid - ); + makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount + .safeSub(singleFillResults.takerFeePaid); // WETH fee } else if (order.takerFeeAssetData.equals(order.takerAssetData)) { + // We will first sell WETH as the takerAsset, then use it to pay the takerFee. - // This ensures that we reserve enough to pay the fee. + // This ensures that we reserve enough to pay the taker and protocol fees. uint256 takerAssetFillAmount = LibMath.getPartialAmountCeil( order.takerAssetAmount, order.takerAssetAmount.safeAdd(order.takerFee), @@ -130,9 +120,9 @@ contract MixinExchangeWrapper is ); // WETH is also spent on the taker fee, so we add it here. - wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( - singleFillResults.takerFeePaid - ); + wethSpentAmount = singleFillResults.takerAssetFilledAmount + .safeAdd(singleFillResults.takerFeePaid) + .safeAdd(singleFillResults.protocolFeePaid); makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount; // Unsupported fee @@ -161,22 +151,18 @@ contract MixinExchangeWrapper is ) { uint256 ordersLength = orders.length; + uint256 protocolFee = tx.gasprice.safeMul(EXCHANGE.protocolFeeMultiplier()); for (uint256 i = 0; i != ordersLength; i++) { - if (!orders[i].makerAssetData.equals(orders[0].makerAssetData)) { - LibRichErrors.rrevert(LibForwarderRichErrors.MakerAssetMismatchError( - orders[0].makerAssetData, - orders[i].makerAssetData - )); - } - // Preemptively skip to avoid division by zero in _marketSellSingleOrder if (orders[i].makerAssetAmount == 0 || orders[i].takerAssetAmount == 0) { continue; } // The remaining amount of WETH to sell - uint256 remainingTakerAssetFillAmount = wethSellAmount.safeSub(totalWethSpentAmount); + uint256 remainingTakerAssetFillAmount = wethSellAmount + .safeSub(totalWethSpentAmount) + .safeSub(protocolFee); ( uint256 wethSpentAmount, @@ -187,8 +173,12 @@ contract MixinExchangeWrapper is remainingTakerAssetFillAmount ); - totalWethSpentAmount = totalWethSpentAmount.safeAdd(wethSpentAmount); - totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount.safeAdd(makerAssetAcquiredAmount); + _transferAssetToSender(orders[i].makerAssetData, makerAssetAcquiredAmount); + + totalWethSpentAmount = totalWethSpentAmount + .safeAdd(wethSpentAmount); + totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount + .safeAdd(makerAssetAcquiredAmount); // Stop execution if the entire amount of WETH has been sold if (totalWethSpentAmount >= wethSellAmount) { @@ -215,7 +205,7 @@ contract MixinExchangeWrapper is uint256 makerAssetAcquiredAmount ) { - // No fee or WETH fee + // No taker fee or WETH fee if (order.takerFee == 0 || order.takerFeeAssetData.equals(order.takerAssetData)) { // Calculate the remaining amount of takerAsset to sell uint256 remainingTakerAssetFillAmount = LibMath.getPartialAmountCeil( @@ -231,10 +221,10 @@ contract MixinExchangeWrapper is signature ); - // WETH is also spent on the taker fee, so we add it here. - wethSpentAmount = singleFillResults.takerAssetFilledAmount.safeAdd( - singleFillResults.takerFeePaid - ); + // WETH is also spent on the protocol and taker fees, so we add it here. + wethSpentAmount = singleFillResults.takerAssetFilledAmount + .safeAdd(singleFillResults.takerFeePaid) + .safeAdd(singleFillResults.protocolFeePaid); makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount; // Percentage fee @@ -253,12 +243,12 @@ contract MixinExchangeWrapper is signature ); - wethSpentAmount = singleFillResults.takerAssetFilledAmount; + wethSpentAmount = singleFillResults.takerAssetFilledAmount + .safeAdd(singleFillResults.protocolFeePaid); // Subtract fee from makerAssetFilledAmount for the net amount acquired. - makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount.safeSub( - singleFillResults.takerFeePaid - ); + makerAssetAcquiredAmount = singleFillResults.makerAssetFilledAmount + .safeSub(singleFillResults.takerFeePaid); // Unsupported fee } else { LibRichErrors.rrevert(LibForwarderRichErrors.UnsupportedFeeError(order.takerFeeAssetData)); @@ -289,19 +279,13 @@ contract MixinExchangeWrapper is { uint256 ordersLength = orders.length; for (uint256 i = 0; i != ordersLength; i++) { - if (!orders[i].makerAssetData.equals(orders[0].makerAssetData)) { - LibRichErrors.rrevert(LibForwarderRichErrors.MakerAssetMismatchError( - orders[0].makerAssetData, - orders[i].makerAssetData - )); - } - // Preemptively skip to avoid division by zero in _marketBuySingleOrder if (orders[i].makerAssetAmount == 0 || orders[i].takerAssetAmount == 0) { continue; } - uint256 remainingMakerAssetFillAmount = makerAssetBuyAmount.safeSub(totalMakerAssetAcquiredAmount); + uint256 remainingMakerAssetFillAmount = makerAssetBuyAmount + .safeSub(totalMakerAssetAcquiredAmount); ( uint256 wethSpentAmount, @@ -312,8 +296,12 @@ contract MixinExchangeWrapper is remainingMakerAssetFillAmount ); - totalWethSpentAmount = totalWethSpentAmount.safeAdd(wethSpentAmount); - totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount.safeAdd(makerAssetAcquiredAmount); + _transferAssetToSender(orders[i].makerAssetData, makerAssetAcquiredAmount); + + totalWethSpentAmount = totalWethSpentAmount + .safeAdd(wethSpentAmount); + totalMakerAssetAcquiredAmount = totalMakerAssetAcquiredAmount + .safeAdd(makerAssetAcquiredAmount); // Stop execution if the entire amount of makerAsset has been bought if (totalMakerAssetAcquiredAmount >= makerAssetBuyAmount) { diff --git a/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol b/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol index 0a4ea59a72..dae33e4e29 100644 --- a/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol +++ b/contracts/exchange-forwarder/contracts/src/MixinForwarderCore.sol @@ -28,7 +28,6 @@ import "./libs/LibConstants.sol"; import "./libs/LibForwarderRichErrors.sol"; import "./interfaces/IAssets.sol"; import "./interfaces/IForwarderCore.sol"; -import "./MixinAssets.sol"; import "./MixinExchangeWrapper.sol"; import "./MixinWeth.sol"; @@ -38,7 +37,6 @@ contract MixinForwarderCore is IAssets, IForwarderCore, MixinWeth, - MixinAssets, MixinExchangeWrapper { using LibBytes for bytes; @@ -53,6 +51,11 @@ contract MixinForwarderCore is LibRichErrors.rrevert(LibForwarderRichErrors.UnregisteredAssetProxyError()); } ETHER_TOKEN.approve(proxyAddress, MAX_UINT); + + address protocolFeeCollector = EXCHANGE.protocolFeeCollector(); + if (protocolFeeCollector != address(0)) { + ETHER_TOKEN.approve(protocolFeeCollector, MAX_UINT); + } } /// @dev Purchases as much of orders' makerAssets as possible by selling as much of the ETH value sent @@ -88,7 +91,8 @@ contract MixinForwarderCore is msg.value ); - // Spends up to wethSellAmount to fill orders and pay WETH order fees. + // Spends up to wethSellAmount to fill orders, transfers purchased assets to msg.sender, + // and pays WETH order fees. ( wethSpentAmount, makerAssetAcquiredAmount @@ -105,12 +109,6 @@ contract MixinForwarderCore is feePercentage, feeRecipient ); - - // Transfer purchased assets to msg.sender. - _transferAssetToSender( - orders[0].makerAssetData, - makerAssetAcquiredAmount - ); } /// @dev Attempt to buy makerAssetBuyAmount of makerAsset by selling ETH provided with transaction. @@ -143,9 +141,7 @@ contract MixinForwarderCore is // Convert ETH to WETH. _convertEthToWeth(); - // Attempt to fill the desired amount of makerAsset. Note that makerAssetAcquiredAmount < makerAssetBuyAmount - // if any of the orders filled have an takerFee denominated in makerAsset, since these fees will be paid out - // from the Forwarder's temporary makerAsset balance. + // Attempts to fill the desired amount of makerAsset and trasnfer purchased assets to msg.sender. ( wethSpentAmount, makerAssetAcquiredAmount @@ -162,11 +158,5 @@ contract MixinForwarderCore is feePercentage, feeRecipient ); - - // Transfer acquired assets to msg.sender. - _transferAssetToSender( - orders[0].makerAssetData, - makerAssetAcquiredAmount - ); } } diff --git a/contracts/exchange-forwarder/contracts/src/MixinWeth.sol b/contracts/exchange-forwarder/contracts/src/MixinWeth.sol index 1b521c680e..13f15e6f46 100644 --- a/contracts/exchange-forwarder/contracts/src/MixinWeth.sol +++ b/contracts/exchange-forwarder/contracts/src/MixinWeth.sol @@ -47,19 +47,19 @@ contract MixinWeth is internal { if (msg.value == 0) { - LibRichErrors.rrevert(LibForwarderRichErrors.MsgValueCantEqualZeroError()); + LibRichErrors.rrevert(LibForwarderRichErrors.MsgValueCannotEqualZeroError()); } ETHER_TOKEN.deposit.value(msg.value)(); } /// @dev Transfers feePercentage of WETH spent on primary orders to feeRecipient. /// Refunds any excess ETH to msg.sender. - /// @param wethSold Amount of WETH sold when filling primary orders. + /// @param wethSpent Amount of WETH spent when filling orders. /// @param feePercentage Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. /// @param feeRecipient Address that will receive ETH when orders are filled. /// @return ethFee Amount paid to feeRecipient as a percentage fee on the total WETH sold. function _transferEthFeeAndRefund( - uint256 wethSold, + uint256 wethSpent, uint256 feePercentage, address payable feeRecipient ) @@ -73,22 +73,22 @@ contract MixinWeth is )); } - // Ensure that no extra WETH owned by this contract has been sold. - if (wethSold > msg.value) { - LibRichErrors.rrevert(LibForwarderRichErrors.OversoldWethError( - wethSold, + // Ensure that no extra WETH owned by this contract has been spent. + if (wethSpent > msg.value) { + LibRichErrors.rrevert(LibForwarderRichErrors.OverspentWethError( + wethSpent, msg.value )); } - // Calculate amount of WETH that hasn't been sold. - uint256 wethRemaining = msg.value.safeSub(wethSold); + // Calculate amount of WETH that hasn't been spent. + uint256 wethRemaining = msg.value.safeSub(wethSpent); // Calculate ETH fee to pay to feeRecipient. ethFee = LibMath.getPartialAmountFloor( feePercentage, PERCENTAGE_DENOMINATOR, - wethSold + wethSpent ); // Ensure fee is less than amount of WETH remaining. diff --git a/contracts/exchange-forwarder/contracts/src/libs/LibConstants.sol b/contracts/exchange-forwarder/contracts/src/libs/LibConstants.sol index 39c132e07e..8be43049d5 100644 --- a/contracts/exchange-forwarder/contracts/src/libs/LibConstants.sol +++ b/contracts/exchange-forwarder/contracts/src/libs/LibConstants.sol @@ -21,7 +21,6 @@ pragma solidity ^0.5.9; import "@0x/contracts-utils/contracts/src/LibBytes.sol"; import "@0x/contracts-exchange/contracts/src/interfaces/IExchange.sol"; import "@0x/contracts-erc20/contracts/src/interfaces/IEtherToken.sol"; -import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol"; contract LibConstants { diff --git a/contracts/exchange-forwarder/contracts/src/libs/LibForwarderRichErrors.sol b/contracts/exchange-forwarder/contracts/src/libs/LibForwarderRichErrors.sol index c1013a547f..94a76a1d46 100644 --- a/contracts/exchange-forwarder/contracts/src/libs/LibForwarderRichErrors.sol +++ b/contracts/exchange-forwarder/contracts/src/libs/LibForwarderRichErrors.sol @@ -35,10 +35,6 @@ library LibForwarderRichErrors { bytes4 internal constant COMPLETE_BUY_FAILED_ERROR_SELECTOR = 0x91353a0c; - // bytes4(keccak256("MakerAssetMismatchError(bytes,bytes)")) - bytes4 internal constant MAKER_ASSET_MISMATCH_ERROR_SELECTOR = - 0x56677f2c; - // bytes4(keccak256("UnsupportedFeeError(bytes)")) bytes4 internal constant UNSUPPORTED_FEE_ERROR_SELECTOR = 0x31360af1; @@ -51,9 +47,9 @@ library LibForwarderRichErrors { bytes4 internal constant INSUFFICIENT_ETH_FOR_FEE_ERROR_SELECTOR = 0xecf40fd9; - // bytes4(keccak256("OversoldWethError(uint256,uint256)")) - bytes4 internal constant OVERSOLD_WETH_ERROR_SELECTOR = - 0x5cc555c8; + // bytes4(keccak256("OverspentWethError(uint256,uint256)")) + bytes4 internal constant OVERSPENT_WETH_ERROR_SELECTOR = + 0xcdcbed5d; // bytes4(keccak256("TransferFailedError(bytes)")) bytes4 internal constant TRANSFER_FAILED_ERROR_SELECTOR = @@ -63,9 +59,9 @@ library LibForwarderRichErrors { bytes4 internal constant DEFAULT_FUNCTION_WETH_CONTRACT_ONLY_ERROR_SELECTOR = 0x08b18698; - // bytes4(keccak256("MsgValueCantEqualZeroError()")) - bytes4 internal constant MSG_VALUE_CANT_EQUAL_ZERO_ERROR_SELECTOR = - 0x1213e1d6; + // bytes4(keccak256("MsgValueCannotEqualZeroError()")) + bytes4 internal constant MSG_VALUE_CANNOT_EQUAL_ZERO_ERROR_SELECTOR = + 0x8c0e562b; // bytes4(keccak256("Erc721AmountMustEqualOneError(uint256)")) bytes4 internal constant ERC721_AMOUNT_MUST_EQUAL_ONE_ERROR_SELECTOR = @@ -108,21 +104,6 @@ library LibForwarderRichErrors { ); } - function MakerAssetMismatchError( - bytes memory firstOrderMakerAssetData, - bytes memory mismatchedMakerAssetData - ) - internal - pure - returns (bytes memory) - { - return abi.encodeWithSelector( - MAKER_ASSET_MISMATCH_ERROR_SELECTOR, - firstOrderMakerAssetData, - mismatchedMakerAssetData - ); - } - function UnsupportedFeeError( bytes memory takerFeeAssetData ) @@ -164,8 +145,8 @@ library LibForwarderRichErrors { ); } - function OversoldWethError( - uint256 wethSold, + function OverspentWethError( + uint256 wethSpent, uint256 msgValue ) internal @@ -173,8 +154,8 @@ library LibForwarderRichErrors { returns (bytes memory) { return abi.encodeWithSelector( - OVERSOLD_WETH_ERROR_SELECTOR, - wethSold, + OVERSPENT_WETH_ERROR_SELECTOR, + wethSpent, msgValue ); } @@ -205,12 +186,12 @@ library LibForwarderRichErrors { ); } - function MsgValueCantEqualZeroError() + function MsgValueCannotEqualZeroError() internal pure returns (bytes memory) { - return abi.encodeWithSelector(MSG_VALUE_CANT_EQUAL_ZERO_ERROR_SELECTOR); + return abi.encodeWithSelector(MSG_VALUE_CANNOT_EQUAL_ZERO_ERROR_SELECTOR); } function Erc721AmountMustEqualOneError( diff --git a/contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol b/contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol new file mode 100644 index 0000000000..84ac37d878 --- /dev/null +++ b/contracts/exchange-forwarder/contracts/src/test/TestProtocolFeeCollector.sol @@ -0,0 +1,59 @@ +/* + + Copyright 2019 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.5.9; +pragma experimental ABIEncoderV2; + +import "@0x/contracts-erc20/contracts/src/interfaces/IEtherToken.sol"; + + + // solhint-disable no-unused-vars +contract TestProtocolFeeCollector { + + address private _wethAddress; + + constructor ( + address wethAddress + ) + public + { + _wethAddress = wethAddress; + } + + /// @dev Pays a protocol fee in WETH (Forwarder orders will always pay protocol fees in WETH). + /// @param makerAddress The address of the order's maker. + /// @param payerAddress The address of the protocol fee payer. + /// @param protocolFeePaid The protocol fee that should be paid. + function payProtocolFee( + address makerAddress, + address payerAddress, + uint256 protocolFeePaid + ) + external + payable + { + assert(msg.value == 0); + + // Transfer the protocol fee to this address in WETH. + IEtherToken(_wethAddress).transferFrom( + payerAddress, + address(this), + protocolFeePaid + ); + } +} diff --git a/contracts/exchange-forwarder/package.json b/contracts/exchange-forwarder/package.json index 33c072824f..3880356015 100644 --- a/contracts/exchange-forwarder/package.json +++ b/contracts/exchange-forwarder/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange-forwarder", - "version": "3.0.12", + "version": "3.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -11,6 +11,7 @@ }, "scripts": { "build": "yarn pre_build && tsc -b", + "build:ts": "tsc -b", "build:ci": "yarn build", "pre_build": "run-s compile contracts:gen generate_contract_wrappers", "test": "yarn run_mocha", @@ -34,7 +35,7 @@ "compile:truffle": "truffle compile" }, "config": { - "abis": "./generated-artifacts/@(Forwarder|IAssets|IForwarder|IForwarderCore|LibConstants|LibForwarderRichErrors|MixinAssets|MixinExchangeWrapper|MixinForwarderCore|MixinWeth).json", + "abis": "./generated-artifacts/@(Forwarder|IAssets|IForwarder|IForwarderCore|LibConstants|LibForwarderRichErrors|MixinAssets|MixinExchangeWrapper|MixinForwarderCore|MixinWeth|TestProtocolFeeCollector).json", "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually." }, "repository": { @@ -47,11 +48,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -70,19 +71,19 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-asset-proxy": "^2.2.8", - "@0x/contracts-erc20": "^2.2.14", - "@0x/contracts-erc721": "^2.1.15", - "@0x/contracts-exchange": "^2.1.14", - "@0x/contracts-exchange-libs": "^3.0.8", - "@0x/contracts-utils": "^3.2.4", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-asset-proxy": "^2.3.0-beta.0", + "@0x/contracts-erc20": "^2.3.0-beta.0", + "@0x/contracts-erc721": "^2.2.0-beta.0", + "@0x/contracts-exchange": "^2.2.0-beta.0", + "@0x/contracts-exchange-libs": "^3.1.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/exchange-forwarder/src/artifacts.ts b/contracts/exchange-forwarder/src/artifacts.ts index 9643be939a..de0fa3fe35 100644 --- a/contracts/exchange-forwarder/src/artifacts.ts +++ b/contracts/exchange-forwarder/src/artifacts.ts @@ -15,6 +15,7 @@ import * as MixinAssets from '../generated-artifacts/MixinAssets.json'; import * as MixinExchangeWrapper from '../generated-artifacts/MixinExchangeWrapper.json'; import * as MixinForwarderCore from '../generated-artifacts/MixinForwarderCore.json'; import * as MixinWeth from '../generated-artifacts/MixinWeth.json'; +import * as TestProtocolFeeCollector from '../generated-artifacts/TestProtocolFeeCollector.json'; export const artifacts = { Forwarder: Forwarder as ContractArtifact, MixinAssets: MixinAssets as ContractArtifact, @@ -26,4 +27,5 @@ export const artifacts = { IForwarderCore: IForwarderCore as ContractArtifact, LibConstants: LibConstants as ContractArtifact, LibForwarderRichErrors: LibForwarderRichErrors as ContractArtifact, + TestProtocolFeeCollector: TestProtocolFeeCollector as ContractArtifact, }; diff --git a/contracts/exchange-forwarder/src/wrappers.ts b/contracts/exchange-forwarder/src/wrappers.ts index 23213da16e..1d9bd5b205 100644 --- a/contracts/exchange-forwarder/src/wrappers.ts +++ b/contracts/exchange-forwarder/src/wrappers.ts @@ -13,3 +13,4 @@ export * from '../generated-wrappers/mixin_assets'; export * from '../generated-wrappers/mixin_exchange_wrapper'; export * from '../generated-wrappers/mixin_forwarder_core'; export * from '../generated-wrappers/mixin_weth'; +export * from '../generated-wrappers/test_protocol_fee_collector'; diff --git a/contracts/exchange-forwarder/test/forwarder.ts b/contracts/exchange-forwarder/test/forwarder.ts index 992218ff95..1bff25011a 100644 --- a/contracts/exchange-forwarder/test/forwarder.ts +++ b/contracts/exchange-forwarder/test/forwarder.ts @@ -14,21 +14,24 @@ import { import { assetDataUtils, ForwarderRevertErrors } from '@0x/order-utils'; import { BigNumber } from '@0x/utils'; import { Web3Wrapper } from '@0x/web3-wrapper'; -import { TransactionReceiptWithDecodedLogs } from 'ethereum-types'; -import { artifacts, ForwarderContract, ForwarderTestFactory, ForwarderWrapper } from '../src'; +import { + artifacts, + ForwarderContract, + ForwarderTestFactory, + ForwarderWrapper, + TestProtocolFeeCollectorContract, +} from '../src'; const DECIMALS_DEFAULT = 18; blockchainTests(ContractName.Forwarder, env => { - let chainId: number; - let makerAddress: string; let owner: string; + let makerAddress: string; let takerAddress: string; let orderFeeRecipientAddress: string; let forwarderFeeRecipientAddress: string; let defaultMakerAssetAddress: string; - let wethAssetData: string; let weth: DummyERC20TokenContract; let erc20Token: DummyERC20TokenContract; @@ -36,22 +39,26 @@ blockchainTests(ContractName.Forwarder, env => { let erc721Token: DummyERC721TokenContract; let forwarderContract: ForwarderContract; let wethContract: WETH9Contract; + let exchangeContract: ExchangeContract; + let protocolFeeCollector: TestProtocolFeeCollectorContract; + let forwarderWrapper: ForwarderWrapper; let exchangeWrapper: ExchangeWrapper; + let erc20Wrapper: ERC20Wrapper; let orderFactory: OrderFactory; let forwarderTestFactory: ForwarderTestFactory; - let erc20Wrapper: ERC20Wrapper; - let tx: TransactionReceiptWithDecodedLogs; + let chainId: number; + let wethAssetData: string; let erc721MakerAssetIds: BigNumber[]; - const gasPrice = new BigNumber(constants.DEFAULT_GAS_PRICE); - - before(async () => { - await env.blockchainLifecycle.startAsync(); - chainId = await env.getChainIdAsync(); + const GAS_PRICE = new BigNumber(env.txDefaults.gasPrice || constants.DEFAULT_GAS_PRICE); + const PROTOCOL_FEE_MULTIPLIER = new BigNumber(150); + const PROTOCOL_FEE = GAS_PRICE.times(PROTOCOL_FEE_MULTIPLIER); + before(async () => { + // Set up addresses const accounts = await env.getAccountAddressesAsync(); const usedAddresses = ([ owner, @@ -61,24 +68,27 @@ blockchainTests(ContractName.Forwarder, env => { forwarderFeeRecipientAddress, ] = accounts); - const erc721Wrapper = new ERC721Wrapper(env.provider, usedAddresses, owner); - erc20Wrapper = new ERC20Wrapper(env.provider, usedAddresses, owner); - - const numDummyErc20ToDeploy = 2; - [erc20Token, secondErc20Token] = await erc20Wrapper.deployDummyTokensAsync( - numDummyErc20ToDeploy, - constants.DUMMY_TOKEN_DECIMALS, + // Set up Exchange + chainId = await env.getChainIdAsync(); + exchangeContract = await ExchangeContract.deployFrom0xArtifactAsync( + exchangeArtifacts.Exchange, + env.provider, + env.txDefaults, + {}, + new BigNumber(chainId), ); + exchangeWrapper = new ExchangeWrapper(exchangeContract); + // Set up ERC20 + erc20Wrapper = new ERC20Wrapper(env.provider, usedAddresses, owner); + [erc20Token, secondErc20Token] = await erc20Wrapper.deployDummyTokensAsync(2, constants.DUMMY_TOKEN_DECIMALS); const erc20Proxy = await erc20Wrapper.deployProxyAsync(); - await erc20Wrapper.setBalancesAndAllowancesAsync(); - - [erc721Token] = await erc721Wrapper.deployDummyTokensAsync(); - const erc721Proxy = await erc721Wrapper.deployProxyAsync(); - await erc721Wrapper.setBalancesAndAllowancesAsync(); - const erc721Balances = await erc721Wrapper.getBalancesAsync(); - erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address]; + await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); + await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(exchangeContract.address, { + from: owner, + }); + // Set up WETH wethContract = await WETH9Contract.deployFrom0xArtifactAsync( erc20Artifacts.WETH9, env.provider, @@ -86,59 +96,72 @@ blockchainTests(ContractName.Forwarder, env => { {}, ); weth = new DummyERC20TokenContract(wethContract.address, env.provider); + wethAssetData = assetDataUtils.encodeERC20AssetData(wethContract.address); erc20Wrapper.addDummyTokenContract(weth); + await erc20Wrapper.setBalancesAndAllowancesAsync(); - wethAssetData = assetDataUtils.encodeERC20AssetData(wethContract.address); - const exchangeInstance = await ExchangeContract.deployFrom0xArtifactAsync( - exchangeArtifacts.Exchange, + // Set up ERC721 + const erc721Wrapper = new ERC721Wrapper(env.provider, usedAddresses, owner); + [erc721Token] = await erc721Wrapper.deployDummyTokensAsync(); + const erc721Proxy = await erc721Wrapper.deployProxyAsync(); + await erc721Wrapper.setBalancesAndAllowancesAsync(); + const erc721Balances = await erc721Wrapper.getBalancesAsync(); + erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address]; + await exchangeWrapper.registerAssetProxyAsync(erc721Proxy.address, owner); + await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(exchangeContract.address, { + from: owner, + }); + + // Set up Protocol Fee Collector + protocolFeeCollector = await TestProtocolFeeCollectorContract.deployFrom0xArtifactAsync( + artifacts.TestProtocolFeeCollector, env.provider, env.txDefaults, {}, - new BigNumber(chainId), + wethContract.address, ); - exchangeWrapper = new ExchangeWrapper(exchangeInstance, env.provider); - await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); - await exchangeWrapper.registerAssetProxyAsync(erc721Proxy.address, owner); - - await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(exchangeInstance.address, { - from: owner, - }); - await erc721Proxy.addAuthorizedAddress.sendTransactionAsync(exchangeInstance.address, { - from: owner, - }); + await exchangeContract.setProtocolFeeMultiplier.awaitTransactionSuccessAsync(PROTOCOL_FEE_MULTIPLIER); + await exchangeContract.setProtocolFeeCollectorAddress.awaitTransactionSuccessAsync( + protocolFeeCollector.address, + ); + erc20Wrapper.addTokenOwnerAddress(protocolFeeCollector.address); + // Set defaults defaultMakerAssetAddress = erc20Token.address; const defaultTakerAssetAddress = wethContract.address; const defaultOrderParams = { makerAddress, feeRecipientAddress: orderFeeRecipientAddress, - makerAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), - takerAssetData: assetDataUtils.encodeERC20AssetData(defaultTakerAssetAddress), makerAssetAmount: Web3Wrapper.toBaseUnitAmount(200, DECIMALS_DEFAULT), takerAssetAmount: Web3Wrapper.toBaseUnitAmount(10, DECIMALS_DEFAULT), - makerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), - takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), makerFee: Web3Wrapper.toBaseUnitAmount(0, DECIMALS_DEFAULT), takerFee: Web3Wrapper.toBaseUnitAmount(0, DECIMALS_DEFAULT), - exchangeAddress: exchangeInstance.address, + makerAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), + takerAssetData: assetDataUtils.encodeERC20AssetData(defaultTakerAssetAddress), + makerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), + takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), + exchangeAddress: exchangeContract.address, chainId, }; - const privateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddress)]; - orderFactory = new OrderFactory(privateKey, defaultOrderParams); + // Set up Forwarder forwarderContract = await ForwarderContract.deployFrom0xArtifactAsync( artifacts.Forwarder, env.provider, env.txDefaults, {}, - exchangeInstance.address, + exchangeContract.address, wethAssetData, ); forwarderWrapper = new ForwarderWrapper(forwarderContract, env.provider); - - await forwarderWrapper.approveMakerAssetProxyAsync(defaultOrderParams.makerAssetData, { from: takerAddress }); + await forwarderWrapper.approveMakerAssetProxyAsync(defaultOrderParams.makerAssetData, { + from: takerAddress, + }); erc20Wrapper.addTokenOwnerAddress(forwarderContract.address); + // Set up factories + const privateKey = constants.TESTRPC_PRIVATE_KEYS[accounts.indexOf(makerAddress)]; + orderFactory = new OrderFactory(privateKey, defaultOrderParams); forwarderTestFactory = new ForwarderTestFactory( exchangeWrapper, forwarderWrapper, @@ -146,16 +169,18 @@ blockchainTests(ContractName.Forwarder, env => { forwarderContract.address, makerAddress, takerAddress, + protocolFeeCollector.address, orderFeeRecipientAddress, forwarderFeeRecipientAddress, weth.address, - gasPrice, + GAS_PRICE, + PROTOCOL_FEE_MULTIPLIER, ); }); blockchainTests.resets('constructor', () => { it('should revert if assetProxy is unregistered', async () => { - const exchangeInstance = await ExchangeContract.deployFrom0xArtifactAsync( + const exchange = await ExchangeContract.deployFrom0xArtifactAsync( exchangeArtifacts.Exchange, env.provider, env.txDefaults, @@ -168,7 +193,7 @@ blockchainTests(ContractName.Forwarder, env => { env.provider, env.txDefaults, {}, - exchangeInstance.address, + exchange.address, wethAssetData, ) as any) as sendTransactionResult; @@ -178,7 +203,7 @@ blockchainTests(ContractName.Forwarder, env => { blockchainTests.resets('marketSellOrdersWithEth without extra fees', () => { it('should fill a single order without a taker fee', async () => { const orderWithoutFee = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketSellTestAsync([orderWithoutFee], 0.78, erc20Token); + await forwarderTestFactory.marketSellTestAsync([orderWithoutFee], 0.78, [erc20Token]); }); it('should fill multiple orders without taker fees', async () => { const firstOrder = await orderFactory.newSignedOrderAsync(); @@ -187,14 +212,14 @@ blockchainTests(ContractName.Forwarder, env => { takerAssetAmount: Web3Wrapper.toBaseUnitAmount(21, DECIMALS_DEFAULT), }); const orders = [firstOrder, secondOrder]; - await forwarderTestFactory.marketSellTestAsync(orders, 1.51, erc20Token); + await forwarderTestFactory.marketSellTestAsync(orders, 1.51, [erc20Token]); }); it('should fill a single order with a percentage fee', async () => { const orderWithPercentageFee = await orderFactory.newSignedOrderAsync({ takerFee: Web3Wrapper.toBaseUnitAmount(1, DECIMALS_DEFAULT), takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), }); - await forwarderTestFactory.marketSellTestAsync([orderWithPercentageFee], 0.58, erc20Token); + await forwarderTestFactory.marketSellTestAsync([orderWithPercentageFee], 0.58, [erc20Token]); }); it('should fill multiple orders with percentage fees', async () => { const firstOrder = await orderFactory.newSignedOrderAsync({ @@ -208,7 +233,7 @@ blockchainTests(ContractName.Forwarder, env => { takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), }); const orders = [firstOrder, secondOrder]; - await forwarderTestFactory.marketSellTestAsync(orders, 1.34, erc20Token); + await forwarderTestFactory.marketSellTestAsync(orders, 1.34, [erc20Token]); }); it('should fail to fill an order with a percentage fee if the asset proxy is not yet approved', async () => { const unapprovedAsset = assetDataUtils.encodeERC20AssetData(secondErc20Token.address); @@ -223,7 +248,7 @@ blockchainTests(ContractName.Forwarder, env => { const takerEthBalanceBefore = await env.web3Wrapper.getBalanceInWeiAsync(takerAddress); // Execute test case - tx = await forwarderWrapper.marketSellOrdersWithEthAsync([order], { + const tx = await forwarderWrapper.marketSellOrdersWithEthAsync([order], { value: ethValue, from: takerAddress, }); @@ -231,7 +256,7 @@ blockchainTests(ContractName.Forwarder, env => { const takerEthBalanceAfter = await env.web3Wrapper.getBalanceInWeiAsync(takerAddress); const forwarderEthBalance = await env.web3Wrapper.getBalanceInWeiAsync(forwarderContract.address); const newBalances = await erc20Wrapper.getBalancesAsync(); - const totalEthSpent = gasPrice.times(tx.gasUsed); + const totalEthSpent = GAS_PRICE.times(tx.gasUsed); // Validate test case expect(takerEthBalanceAfter).to.be.bignumber.equal(takerEthBalanceBefore.minus(totalEthSpent)); @@ -255,7 +280,7 @@ blockchainTests(ContractName.Forwarder, env => { takerFee: Web3Wrapper.toBaseUnitAmount(1, DECIMALS_DEFAULT), takerFeeAssetData: wethAssetData, }); - await forwarderTestFactory.marketSellTestAsync([orderWithWethFee], 0.13, erc20Token); + await forwarderTestFactory.marketSellTestAsync([orderWithWethFee], 0.13, [erc20Token]); }); it('should fill multiple orders with WETH fees', async () => { const firstOrder = await orderFactory.newSignedOrderAsync({ @@ -269,23 +294,23 @@ blockchainTests(ContractName.Forwarder, env => { takerFeeAssetData: wethAssetData, }); const orders = [firstOrder, secondOrderWithWethFee]; - await forwarderTestFactory.marketSellTestAsync(orders, 1.25, erc20Token); + await forwarderTestFactory.marketSellTestAsync(orders, 1.25, [erc20Token]); }); it('should refund remaining ETH if amount is greater than takerAssetAmount', async () => { const order = await orderFactory.newSignedOrderAsync(); - const ethValue = order.takerAssetAmount.plus(2); + const ethValue = order.takerAssetAmount.plus(PROTOCOL_FEE).plus(2); const takerEthBalanceBefore = await env.web3Wrapper.getBalanceInWeiAsync(takerAddress); - tx = await forwarderWrapper.marketSellOrdersWithEthAsync([order], { + const tx = await forwarderWrapper.marketSellOrdersWithEthAsync([order], { value: ethValue, from: takerAddress, }); const takerEthBalanceAfter = await env.web3Wrapper.getBalanceInWeiAsync(takerAddress); - const totalEthSpent = order.takerAssetAmount.plus(gasPrice.times(tx.gasUsed)); + const totalEthSpent = order.takerAssetAmount.plus(PROTOCOL_FEE).plus(GAS_PRICE.times(tx.gasUsed)); expect(takerEthBalanceAfter).to.be.bignumber.equal(takerEthBalanceBefore.minus(totalEthSpent)); }); - it('should fail to fill orders with mismatched makerAssetData', async () => { + it('should fill orders with different makerAssetData', async () => { const firstOrderMakerAssetData = assetDataUtils.encodeERC20AssetData(erc20Token.address); const firstOrder = await orderFactory.newSignedOrderAsync({ makerAssetData: firstOrderMakerAssetData, @@ -295,16 +320,10 @@ blockchainTests(ContractName.Forwarder, env => { const secondOrder = await orderFactory.newSignedOrderAsync({ makerAssetData: secondOrderMakerAssetData, }); + await forwarderWrapper.approveMakerAssetProxyAsync(secondOrderMakerAssetData, { from: takerAddress }); const orders = [firstOrder, secondOrder]; - - const revertError = new ForwarderRevertErrors.MakerAssetMismatchError( - firstOrderMakerAssetData, - secondOrderMakerAssetData, - ); - await forwarderTestFactory.marketSellTestAsync(orders, 2, erc20Token, { - revertError, - }); + await forwarderTestFactory.marketSellTestAsync(orders, 1.5, [erc20Token, secondErc20Token]); }); it('should fail to fill an order with a fee denominated in an asset other than makerAsset or WETH', async () => { const makerAssetData = assetDataUtils.encodeERC20AssetData(erc20Token.address); @@ -317,14 +336,14 @@ blockchainTests(ContractName.Forwarder, env => { }); const revertError = new ForwarderRevertErrors.UnsupportedFeeError(takerFeeAssetData); - await forwarderTestFactory.marketSellTestAsync([order], 0.5, erc20Token, { + await forwarderTestFactory.marketSellTestAsync([order], 0.5, [erc20Token], { revertError, }); }); it('should fill a partially-filled order without a taker fee', async () => { const order = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketSellTestAsync([order], 0.3, erc20Token); - await forwarderTestFactory.marketSellTestAsync([order], 0.8, erc20Token); + await forwarderTestFactory.marketSellTestAsync([order], 0.3, [erc20Token]); + await forwarderTestFactory.marketSellTestAsync([order], 0.8, [erc20Token]); }); it('should skip over an order with an invalid maker asset amount', async () => { const unfillableOrder = await orderFactory.newSignedOrderAsync({ @@ -332,7 +351,7 @@ blockchainTests(ContractName.Forwarder, env => { }); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketSellTestAsync([unfillableOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketSellTestAsync([unfillableOrder, fillableOrder], 1.5, [erc20Token]); }); it('should skip over an order with an invalid taker asset amount', async () => { const unfillableOrder = await orderFactory.newSignedOrderAsync({ @@ -340,7 +359,7 @@ blockchainTests(ContractName.Forwarder, env => { }); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketSellTestAsync([unfillableOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketSellTestAsync([unfillableOrder, fillableOrder], 1.5, [erc20Token]); }); it('should skip over an expired order', async () => { const currentTimestamp = await getLatestBlockTimestampAsync(); @@ -349,21 +368,21 @@ blockchainTests(ContractName.Forwarder, env => { }); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketSellTestAsync([expiredOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketSellTestAsync([expiredOrder, fillableOrder], 1.5, [erc20Token]); }); it('should skip over a fully filled order', async () => { const fullyFilledOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketSellTestAsync([fullyFilledOrder], 1, erc20Token); + await forwarderTestFactory.marketSellTestAsync([fullyFilledOrder], 1, [erc20Token]); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketSellTestAsync([fullyFilledOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketSellTestAsync([fullyFilledOrder, fillableOrder], 1.5, [erc20Token]); }); it('should skip over a cancelled order', async () => { const cancelledOrder = await orderFactory.newSignedOrderAsync(); await exchangeWrapper.cancelOrderAsync(cancelledOrder, makerAddress); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketSellTestAsync([cancelledOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketSellTestAsync([cancelledOrder, fillableOrder], 1.5, [erc20Token]); }); }); blockchainTests.resets('marketSellOrdersWithEth with extra fees', () => { @@ -372,7 +391,7 @@ blockchainTests(ContractName.Forwarder, env => { makerAssetAmount: Web3Wrapper.toBaseUnitAmount(157, DECIMALS_DEFAULT), takerAssetAmount: Web3Wrapper.toBaseUnitAmount(36, DECIMALS_DEFAULT), }); - await forwarderTestFactory.marketSellTestAsync([order], 0.67, erc20Token, { + await forwarderTestFactory.marketSellTestAsync([order], 0.67, [erc20Token], { forwarderFeePercentage: new BigNumber(2), }); }); @@ -383,7 +402,7 @@ blockchainTests(ContractName.Forwarder, env => { ForwarderTestFactory.getPercentageOfValue(constants.PERCENTAGE_DENOMINATOR, forwarderFeePercentage), ); - await forwarderTestFactory.marketSellTestAsync([order], 0.5, erc20Token, { + await forwarderTestFactory.marketSellTestAsync([order], 0.5, [erc20Token], { forwarderFeePercentage, revertError, }); @@ -395,7 +414,7 @@ blockchainTests(ContractName.Forwarder, env => { makerAssetAmount: Web3Wrapper.toBaseUnitAmount(131, DECIMALS_DEFAULT), takerAssetAmount: Web3Wrapper.toBaseUnitAmount(20, DECIMALS_DEFAULT), }); - await forwarderTestFactory.marketBuyTestAsync([order], 0.62, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([order], 0.62, [erc20Token]); }); it('should buy the exact amount of makerAsset in multiple orders', async () => { const firstOrder = await orderFactory.newSignedOrderAsync(); @@ -404,14 +423,29 @@ blockchainTests(ContractName.Forwarder, env => { takerAssetAmount: Web3Wrapper.toBaseUnitAmount(11, DECIMALS_DEFAULT), }); const orders = [firstOrder, secondOrder]; - await forwarderTestFactory.marketBuyTestAsync(orders, 1.96, erc20Token); + await forwarderTestFactory.marketBuyTestAsync(orders, 1.96, [erc20Token]); + }); + it('should buy exactly makerAssetBuyAmount in orders with different makerAssetData', async () => { + const firstOrderMakerAssetData = assetDataUtils.encodeERC20AssetData(erc20Token.address); + const firstOrder = await orderFactory.newSignedOrderAsync({ + makerAssetData: firstOrderMakerAssetData, + }); + + const secondOrderMakerAssetData = assetDataUtils.encodeERC20AssetData(secondErc20Token.address); + const secondOrder = await orderFactory.newSignedOrderAsync({ + makerAssetData: secondOrderMakerAssetData, + }); + await forwarderWrapper.approveMakerAssetProxyAsync(secondOrderMakerAssetData, { from: takerAddress }); + + const orders = [firstOrder, secondOrder]; + await forwarderTestFactory.marketBuyTestAsync(orders, 1.5, [erc20Token, secondErc20Token]); }); it('should buy the exact amount of makerAsset and return excess ETH', async () => { const order = await orderFactory.newSignedOrderAsync({ makerAssetAmount: Web3Wrapper.toBaseUnitAmount(80, DECIMALS_DEFAULT), takerAssetAmount: Web3Wrapper.toBaseUnitAmount(17, DECIMALS_DEFAULT), }); - await forwarderTestFactory.marketBuyTestAsync([order], 0.57, erc20Token, { + await forwarderTestFactory.marketBuyTestAsync([order], 0.57, [erc20Token], { ethValueAdjustment: 2, }); }); @@ -422,7 +456,7 @@ blockchainTests(ContractName.Forwarder, env => { takerFee: Web3Wrapper.toBaseUnitAmount(1, DECIMALS_DEFAULT), takerFeeAssetData: wethAssetData, }); - await forwarderTestFactory.marketBuyTestAsync([order], 0.38, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([order], 0.38, [erc20Token]); }); it('should buy the exact amount of makerAsset from a single order with a percentage fee', async () => { const order = await orderFactory.newSignedOrderAsync({ @@ -431,7 +465,7 @@ blockchainTests(ContractName.Forwarder, env => { takerFee: Web3Wrapper.toBaseUnitAmount(1, DECIMALS_DEFAULT), takerFeeAssetData: assetDataUtils.encodeERC20AssetData(defaultMakerAssetAddress), }); - await forwarderTestFactory.marketBuyTestAsync([order], 0.52, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([order], 0.52, [erc20Token]); }); it('should revert if the amount of ETH sent is too low to fill the makerAssetAmount', async () => { const order = await orderFactory.newSignedOrderAsync(); @@ -440,7 +474,7 @@ blockchainTests(ContractName.Forwarder, env => { constants.ZERO_AMOUNT, ); - await forwarderTestFactory.marketBuyTestAsync([order], 0.5, erc20Token, { + await forwarderTestFactory.marketBuyTestAsync([order], 0.5, [erc20Token], { ethValueAdjustment: -2, revertError, }); @@ -452,7 +486,7 @@ blockchainTests(ContractName.Forwarder, env => { makerAssetData: assetDataUtils.encodeERC721AssetData(erc721Token.address, makerAssetId), takerFeeAssetData: wethAssetData, }); - await forwarderTestFactory.marketBuyTestAsync([erc721Order], 1, erc721Token, { + await forwarderTestFactory.marketBuyTestAsync([erc721Order], 1, [erc721Token], { makerAssetId, }); }); @@ -464,7 +498,7 @@ blockchainTests(ContractName.Forwarder, env => { takerFee: Web3Wrapper.toBaseUnitAmount(1, DECIMALS_DEFAULT), takerFeeAssetData: wethAssetData, }); - await forwarderTestFactory.marketBuyTestAsync([erc721orderWithWethFee], 1, erc721Token, { + await forwarderTestFactory.marketBuyTestAsync([erc721orderWithWethFee], 1, [erc721Token], { makerAssetId, }); }); @@ -479,14 +513,14 @@ blockchainTests(ContractName.Forwarder, env => { }); const revertError = new ForwarderRevertErrors.UnsupportedFeeError(takerFeeAssetData); - await forwarderTestFactory.marketBuyTestAsync([order], 0.5, erc20Token, { + await forwarderTestFactory.marketBuyTestAsync([order], 0.5, [erc20Token], { revertError, }); }); it('should fill a partially-filled order without a taker fee', async () => { const order = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketBuyTestAsync([order], 0.3, erc20Token); - await forwarderTestFactory.marketBuyTestAsync([order], 0.8, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([order], 0.3, [erc20Token]); + await forwarderTestFactory.marketBuyTestAsync([order], 0.8, [erc20Token]); }); it('should skip over an order with an invalid maker asset amount', async () => { const unfillableOrder = await orderFactory.newSignedOrderAsync({ @@ -494,7 +528,7 @@ blockchainTests(ContractName.Forwarder, env => { }); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketBuyTestAsync([unfillableOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([unfillableOrder, fillableOrder], 1.5, [erc20Token]); }); it('should skip over an order with an invalid taker asset amount', async () => { const unfillableOrder = await orderFactory.newSignedOrderAsync({ @@ -502,7 +536,7 @@ blockchainTests(ContractName.Forwarder, env => { }); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketBuyTestAsync([unfillableOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([unfillableOrder, fillableOrder], 1.5, [erc20Token]); }); it('should skip over an expired order', async () => { const currentTimestamp = await getLatestBlockTimestampAsync(); @@ -511,23 +545,23 @@ blockchainTests(ContractName.Forwarder, env => { }); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketBuyTestAsync([expiredOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([expiredOrder, fillableOrder], 1.5, [erc20Token]); }); it('should skip over a fully filled order', async () => { const fullyFilledOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketBuyTestAsync([fullyFilledOrder], 1, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([fullyFilledOrder], 1, [erc20Token]); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketBuyTestAsync([fullyFilledOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([fullyFilledOrder, fillableOrder], 1.5, [erc20Token]); }); it('should skip over a cancelled order', async () => { const cancelledOrder = await orderFactory.newSignedOrderAsync(); await exchangeWrapper.cancelOrderAsync(cancelledOrder, makerAddress); const fillableOrder = await orderFactory.newSignedOrderAsync(); - await forwarderTestFactory.marketBuyTestAsync([cancelledOrder, fillableOrder], 1.5, erc20Token); + await forwarderTestFactory.marketBuyTestAsync([cancelledOrder, fillableOrder], 1.5, [erc20Token]); }); - it('Should buy slightly greater MakerAsset when exchange rate is rounded', async () => { + it('Should buy slightly greater makerAsset when exchange rate is rounded', async () => { // The 0x Protocol contracts round the exchange rate in favor of the Maker. // In this case, the taker must round up how much they're going to spend, which // in turn increases the amount of MakerAsset being purchased. @@ -553,13 +587,14 @@ blockchainTests(ContractName.Forwarder, env => { }); const desiredMakerAssetFillAmount = new BigNumber('5'); const makerAssetFillAmount = new BigNumber('6'); - const ethValue = new BigNumber('4'); + const primaryTakerAssetFillAmount = new BigNumber('4'); + const ethValue = primaryTakerAssetFillAmount.plus(PROTOCOL_FEE); const erc20Balances = await erc20Wrapper.getBalancesAsync(); const takerEthBalanceBefore = await env.web3Wrapper.getBalanceInWeiAsync(takerAddress); // Execute test case - tx = await forwarderWrapper.marketBuyOrdersWithEthAsync([order], desiredMakerAssetFillAmount, { + const tx = await forwarderWrapper.marketBuyOrdersWithEthAsync([order], desiredMakerAssetFillAmount, { value: ethValue, from: takerAddress, }); @@ -567,8 +602,7 @@ blockchainTests(ContractName.Forwarder, env => { const takerEthBalanceAfter = await env.web3Wrapper.getBalanceInWeiAsync(takerAddress); const forwarderEthBalance = await env.web3Wrapper.getBalanceInWeiAsync(forwarderContract.address); const newBalances = await erc20Wrapper.getBalancesAsync(); - const primaryTakerAssetFillAmount = ethValue; - const totalEthSpent = primaryTakerAssetFillAmount.plus(gasPrice.times(tx.gasUsed)); + const totalEthSpent = ethValue.plus(GAS_PRICE.times(tx.gasUsed)); // Validate test case expect(makerAssetFillAmount).to.be.bignumber.greaterThan(desiredMakerAssetFillAmount); expect(takerEthBalanceAfter).to.be.bignumber.equal(takerEthBalanceBefore.minus(totalEthSpent)); @@ -588,6 +622,8 @@ blockchainTests(ContractName.Forwarder, env => { expect(forwarderEthBalance).to.be.bignumber.equal(constants.ZERO_AMOUNT); }); it('Should buy slightly greater MakerAsset when exchange rate is rounded (Regression Test)', async () => { + // Disable protocol fees for regression test + await exchangeContract.setProtocolFeeCollectorAddress.awaitTransactionSuccessAsync(constants.NULL_ADDRESS); // Order taken from a transaction on mainnet that failed due to a rounding error. const order = await orderFactory.newSignedOrderAsync({ makerAssetAmount: new BigNumber('268166666666666666666'), @@ -608,7 +644,7 @@ blockchainTests(ContractName.Forwarder, env => { .times(order.makerAssetAmount) .dividedToIntegerBy(order.takerAssetAmount); // Execute test case - tx = await forwarderWrapper.marketBuyOrdersWithEthAsync([order], desiredMakerAssetFillAmount, { + const tx = await forwarderWrapper.marketBuyOrdersWithEthAsync([order], desiredMakerAssetFillAmount, { value: ethValue, from: takerAddress, }); @@ -617,7 +653,7 @@ blockchainTests(ContractName.Forwarder, env => { const forwarderEthBalance = await env.web3Wrapper.getBalanceInWeiAsync(forwarderContract.address); const newBalances = await erc20Wrapper.getBalancesAsync(); const primaryTakerAssetFillAmount = ethValue; - const totalEthSpent = primaryTakerAssetFillAmount.plus(gasPrice.times(tx.gasUsed)); + const totalEthSpent = primaryTakerAssetFillAmount.plus(GAS_PRICE.times(tx.gasUsed)); // Validate test case expect(makerAssetFillAmount).to.be.bignumber.greaterThan(desiredMakerAssetFillAmount); expect(takerEthBalanceAfter).to.be.bignumber.equal(takerEthBalanceBefore.minus(totalEthSpent)); @@ -643,7 +679,7 @@ blockchainTests(ContractName.Forwarder, env => { makerAssetAmount: Web3Wrapper.toBaseUnitAmount(125, DECIMALS_DEFAULT), takerAssetAmount: Web3Wrapper.toBaseUnitAmount(11, DECIMALS_DEFAULT), }); - await forwarderTestFactory.marketBuyTestAsync([order], 0.33, erc20Token, { + await forwarderTestFactory.marketBuyTestAsync([order], 0.33, [erc20Token], { forwarderFeePercentage: new BigNumber(2), }); }); @@ -652,7 +688,7 @@ blockchainTests(ContractName.Forwarder, env => { const revertError = new ForwarderRevertErrors.FeePercentageTooLargeError( ForwarderTestFactory.getPercentageOfValue(constants.PERCENTAGE_DENOMINATOR, new BigNumber(6)), ); - await forwarderTestFactory.marketBuyTestAsync([order], 0.5, erc20Token, { + await forwarderTestFactory.marketBuyTestAsync([order], 0.5, [erc20Token], { forwarderFeePercentage: new BigNumber(6), revertError, }); @@ -661,14 +697,14 @@ blockchainTests(ContractName.Forwarder, env => { const order = await orderFactory.newSignedOrderAsync(); const forwarderFeePercentage = new BigNumber(2); const ethFee = ForwarderTestFactory.getPercentageOfValue( - order.takerAssetAmount.times(0.5), + order.takerAssetAmount.times(0.5).plus(PROTOCOL_FEE), forwarderFeePercentage, ); const revertError = new ForwarderRevertErrors.InsufficientEthForFeeError(ethFee, ethFee.minus(1)); // -2 to compensate for the extra 1 wei added in ForwarderTestFactory to account for rounding - await forwarderTestFactory.marketBuyTestAsync([order], 0.5, erc20Token, { + await forwarderTestFactory.marketBuyTestAsync([order], 0.5, [erc20Token], { ethValueAdjustment: -2, forwarderFeePercentage, revertError, diff --git a/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts b/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts index b97124e145..5c64df817c 100644 --- a/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts +++ b/contracts/exchange-forwarder/test/utils/forwarder_test_factory.ts @@ -2,118 +2,36 @@ import { ERC20Wrapper } from '@0x/contracts-asset-proxy'; import { DummyERC20TokenContract } from '@0x/contracts-erc20'; import { DummyERC721TokenContract } from '@0x/contracts-erc721'; import { ExchangeWrapper } from '@0x/contracts-exchange'; -import { chaiSetup, constants, ERC20BalancesByOwner, OrderStatus, web3Wrapper } from '@0x/contracts-test-utils'; +import { constants, ERC20BalancesByOwner, expect, OrderStatus, web3Wrapper } from '@0x/contracts-test-utils'; +import { assetDataUtils } from '@0x/order-utils'; import { OrderInfo, SignedOrder } from '@0x/types'; import { BigNumber, RevertError } from '@0x/utils'; -import * as chai from 'chai'; import * as _ from 'lodash'; import { ForwarderWrapper } from './forwarder_wrapper'; -chaiSetup.configure(); -const expect = chai.expect; - // Necessary bookkeeping to validate Forwarder results interface ForwarderFillState { takerAssetFillAmount: BigNumber; - makerAssetFillAmount: BigNumber; + makerAssetFillAmount: { + [makerAssetData: string]: BigNumber; + }; + protocolFees: BigNumber; wethFees: BigNumber; - percentageFees: BigNumber; + percentageFees: { + [makerAssetData: string]: BigNumber; + }; maxOversoldWeth: BigNumber; maxOverboughtMakerAsset: BigNumber; } -// Simulates filling some orders via the Forwarder contract. For example, if -// orders = [A, B, C, D] and fractionalNumberOfOrdersToFill = 2.3, then -// we simulate A and B being completely filled, and 0.3 * C being filled. -function computeExpectedResults( - orders: SignedOrder[], - ordersInfoBefore: OrderInfo[], - fractionalNumberOfOrdersToFill: number, -): ForwarderFillState { - const currentState = { - takerAssetFillAmount: constants.ZERO_AMOUNT, - makerAssetFillAmount: constants.ZERO_AMOUNT, - wethFees: constants.ZERO_AMOUNT, - percentageFees: constants.ZERO_AMOUNT, - maxOversoldWeth: constants.ZERO_AMOUNT, - maxOverboughtMakerAsset: constants.ZERO_AMOUNT, - }; - let remainingOrdersToFill = fractionalNumberOfOrdersToFill; - - for (const [i, order] of orders.entries()) { - if (remainingOrdersToFill === 0) { - break; - } - - if (ordersInfoBefore[i].orderStatus !== OrderStatus.Fillable) { - // If the order is not fillable, skip over it but still count it towards fractionalNumberOfOrdersToFill - remainingOrdersToFill = Math.max(remainingOrdersToFill - 1, 0); - continue; - } - - let makerAssetAmount; - let takerAssetAmount; - let takerFee; - if (remainingOrdersToFill < 1) { - makerAssetAmount = order.makerAssetAmount.times(remainingOrdersToFill).integerValue(); - takerAssetAmount = order.takerAssetAmount.times(remainingOrdersToFill).integerValue(); - takerFee = order.takerFee.times(remainingOrdersToFill).integerValue(); - - // Up to 1 wei worth of WETH will be oversold on the last order due to rounding - currentState.maxOversoldWeth = new BigNumber(1); - // Equivalently, up to 1 wei worth of maker asset will be overbought - currentState.maxOverboughtMakerAsset = currentState.maxOversoldWeth - .times(order.makerAssetAmount) - .dividedToIntegerBy(order.takerAssetAmount); - } else { - makerAssetAmount = order.makerAssetAmount; - takerAssetAmount = order.takerAssetAmount; - takerFee = order.takerFee; - } - - // Accounting for partially filled orders - // As with unfillable orders, these still count as 1 towards fractionalNumberOfOrdersToFill - const takerAssetFilled = ordersInfoBefore[i].orderTakerAssetFilledAmount; - const makerAssetFilled = takerAssetFilled - .times(order.makerAssetAmount) - .dividedToIntegerBy(order.takerAssetAmount); - takerAssetAmount = BigNumber.max(takerAssetAmount.minus(takerAssetFilled), constants.ZERO_AMOUNT); - makerAssetAmount = BigNumber.max(makerAssetAmount.minus(makerAssetFilled), constants.ZERO_AMOUNT); - - currentState.takerAssetFillAmount = currentState.takerAssetFillAmount.plus(takerAssetAmount); - currentState.makerAssetFillAmount = currentState.makerAssetFillAmount.plus(makerAssetAmount); - - if (order.takerFeeAssetData === order.makerAssetData) { - currentState.percentageFees = currentState.percentageFees.plus(takerFee); - } else if (order.takerFeeAssetData === order.takerAssetData) { - currentState.wethFees = currentState.wethFees.plus(takerFee); - } - - remainingOrdersToFill = Math.max(remainingOrdersToFill - 1, 0); - } - - return currentState; -} - // Since bignumber is not compatible with chai's within -function expectBalanceWithin(balance: BigNumber, low: BigNumber, high: BigNumber): void { - expect(balance).to.be.bignumber.gte(low); - expect(balance).to.be.bignumber.lte(high); +function expectBalanceWithin(balance: BigNumber, low: BigNumber, high: BigNumber, message?: string): void { + expect(balance, message).to.be.bignumber.gte(low); + expect(balance, message).to.be.bignumber.lte(high); } export class ForwarderTestFactory { - private readonly _exchangeWrapper: ExchangeWrapper; - private readonly _forwarderWrapper: ForwarderWrapper; - private readonly _erc20Wrapper: ERC20Wrapper; - private readonly _forwarderAddress: string; - private readonly _makerAddress: string; - private readonly _takerAddress: string; - private readonly _orderFeeRecipientAddress: string; - private readonly _forwarderFeeRecipientAddress: string; - private readonly _wethAddress: string; - private readonly _gasPrice: BigNumber; - public static getPercentageOfValue(value: BigNumber, percentage: BigNumber): BigNumber { const numerator = constants.PERCENTAGE_DENOMINATOR.times(percentage).dividedToIntegerBy(100); const newValue = value.times(numerator).dividedToIntegerBy(constants.PERCENTAGE_DENOMINATOR); @@ -121,33 +39,24 @@ export class ForwarderTestFactory { } constructor( - exchangeWrapper: ExchangeWrapper, - forwarderWrapper: ForwarderWrapper, - erc20Wrapper: ERC20Wrapper, - forwarderAddress: string, - makerAddress: string, - takerAddress: string, - orderFeeRecipientAddress: string, - forwarderFeeRecipientAddress: string, - wethAddress: string, - gasPrice: BigNumber, - ) { - this._exchangeWrapper = exchangeWrapper; - this._forwarderWrapper = forwarderWrapper; - this._erc20Wrapper = erc20Wrapper; - this._forwarderAddress = forwarderAddress; - this._makerAddress = makerAddress; - this._takerAddress = takerAddress; - this._orderFeeRecipientAddress = orderFeeRecipientAddress; - this._forwarderFeeRecipientAddress = forwarderFeeRecipientAddress; - this._wethAddress = wethAddress; - this._gasPrice = gasPrice; - } + private readonly _exchangeWrapper: ExchangeWrapper, + private readonly _forwarderWrapper: ForwarderWrapper, + private readonly _erc20Wrapper: ERC20Wrapper, + private readonly _forwarderAddress: string, + private readonly _makerAddress: string, + private readonly _takerAddress: string, + private readonly _protocolFeeCollectorAddress: string, + private readonly _orderFeeRecipientAddress: string, + private readonly _forwarderFeeRecipientAddress: string, + private readonly _wethAddress: string, + private readonly _gasPrice: BigNumber, + private readonly _protocolFeeMultiplier: BigNumber, + ) {} public async marketBuyTestAsync( orders: SignedOrder[], fractionalNumberOfOrdersToFill: number, - makerAssetContract: DummyERC20TokenContract | DummyERC721TokenContract, + makerAssetContracts: Array, options: { ethValueAdjustment?: number; // Used to provided insufficient/excess ETH forwarderFeePercentage?: BigNumber; @@ -167,25 +76,28 @@ export class ForwarderTestFactory { const ordersInfoBefore = await Promise.all(orders.map(order => this._exchangeWrapper.getOrderInfoAsync(order))); const orderStatusesBefore = ordersInfoBefore.map(orderInfo => orderInfo.orderStatus); - const expectedResults = computeExpectedResults(orders, ordersInfoBefore, fractionalNumberOfOrdersToFill); - const ethSpentOnForwarderFee = ForwarderTestFactory.getPercentageOfValue( - expectedResults.takerAssetFillAmount, - forwarderFeePercentage, - ); + const expectedResults = this._computeExpectedResults(orders, ordersInfoBefore, fractionalNumberOfOrdersToFill); + const wethSpent = expectedResults.takerAssetFillAmount + .plus(expectedResults.protocolFees) + .plus(expectedResults.wethFees) + .plus(expectedResults.maxOversoldWeth); + const ethSpentOnForwarderFee = ForwarderTestFactory.getPercentageOfValue(wethSpent, forwarderFeePercentage); + const ethValue = wethSpent.plus(ethSpentOnForwarderFee).plus(ethValueAdjustment); + const feePercentage = ForwarderTestFactory.getPercentageOfValue( constants.PERCENTAGE_DENOMINATOR, forwarderFeePercentage, ); - const ethValue = expectedResults.takerAssetFillAmount - .plus(expectedResults.wethFees) - .plus(expectedResults.maxOversoldWeth) - .plus(ethSpentOnForwarderFee) - .plus(ethValueAdjustment); - + const totalMakerAssetFillAmount = Object.values(expectedResults.makerAssetFillAmount).reduce((prev, current) => + prev.plus(current), + ); + const totalPercentageFees = Object.values(expectedResults.percentageFees).reduce((prev, current) => + prev.plus(current), + ); const tx = this._forwarderWrapper.marketBuyOrdersWithEthAsync( orders, - expectedResults.makerAssetFillAmount.minus(expectedResults.percentageFees), + totalMakerAssetFillAmount.minus(totalPercentageFees), { value: ethValue, from: this._takerAddress, @@ -210,7 +122,7 @@ export class ForwarderTestFactory { expectedResults, takerEthBalanceBefore, erc20Balances, - makerAssetContract, + makerAssetContracts, { forwarderFeePercentage, forwarderFeeRecipientEthBalanceBefore, @@ -223,7 +135,7 @@ export class ForwarderTestFactory { public async marketSellTestAsync( orders: SignedOrder[], fractionalNumberOfOrdersToFill: number, - makerAssetContract: DummyERC20TokenContract, + makerAssetContracts: DummyERC20TokenContract[], options: { forwarderFeePercentage?: BigNumber; revertError?: RevertError; @@ -240,21 +152,20 @@ export class ForwarderTestFactory { const ordersInfoBefore = await Promise.all(orders.map(order => this._exchangeWrapper.getOrderInfoAsync(order))); const orderStatusesBefore = ordersInfoBefore.map(orderInfo => orderInfo.orderStatus); - const expectedResults = computeExpectedResults(orders, ordersInfoBefore, fractionalNumberOfOrdersToFill); - const ethSpentOnForwarderFee = ForwarderTestFactory.getPercentageOfValue( - expectedResults.takerAssetFillAmount, - forwarderFeePercentage, - ); + const expectedResults = this._computeExpectedResults(orders, ordersInfoBefore, fractionalNumberOfOrdersToFill); + const wethSpent = expectedResults.takerAssetFillAmount + .plus(expectedResults.protocolFees) + .plus(expectedResults.wethFees) + .plus(expectedResults.maxOversoldWeth); + + const ethSpentOnForwarderFee = ForwarderTestFactory.getPercentageOfValue(wethSpent, forwarderFeePercentage); + const ethValue = wethSpent.plus(ethSpentOnForwarderFee); + const feePercentage = ForwarderTestFactory.getPercentageOfValue( constants.PERCENTAGE_DENOMINATOR, forwarderFeePercentage, ); - const ethValue = expectedResults.takerAssetFillAmount - .plus(expectedResults.wethFees) - .plus(expectedResults.maxOversoldWeth) - .plus(ethSpentOnForwarderFee); - const tx = this._forwarderWrapper.marketSellOrdersWithEthAsync( orders, { @@ -268,10 +179,9 @@ export class ForwarderTestFactory { await expect(tx).to.revertWith(options.revertError); } else { const gasUsed = (await tx).gasUsed; - const ordersInfoAfter = await Promise.all( - orders.map(order => this._exchangeWrapper.getOrderInfoAsync(order)), + const orderStatusesAfter = await Promise.all( + orders.map(async order => (await this._exchangeWrapper.getOrderInfoAsync(order)).orderStatus), ); - const orderStatusesAfter = ordersInfoAfter.map(orderInfo => orderInfo.orderStatus); await this._checkResultsAsync( fractionalNumberOfOrdersToFill, @@ -281,7 +191,7 @@ export class ForwarderTestFactory { expectedResults, takerEthBalanceBefore, erc20Balances, - makerAssetContract, + makerAssetContracts, { forwarderFeePercentage, forwarderFeeRecipientEthBalanceBefore, @@ -297,27 +207,39 @@ export class ForwarderTestFactory { makerAssetContract: DummyERC20TokenContract, ): void { const makerAssetAddress = makerAssetContract.address; + const makerAssetData = assetDataUtils.encodeERC20AssetData(makerAssetAddress); + + const { + maxOverboughtMakerAsset, + makerAssetFillAmount: { [makerAssetData]: makerAssetFillAmount }, + percentageFees: { [makerAssetData]: percentageFees }, + } = expectedResults; + expectBalanceWithin( newBalances[this._makerAddress][makerAssetAddress], oldBalances[this._makerAddress][makerAssetAddress] - .minus(expectedResults.makerAssetFillAmount) - .minus(expectedResults.maxOverboughtMakerAsset), - oldBalances[this._makerAddress][makerAssetAddress].minus(expectedResults.makerAssetFillAmount), + .minus(makerAssetFillAmount) + .minus(maxOverboughtMakerAsset), + oldBalances[this._makerAddress][makerAssetAddress].minus(makerAssetFillAmount), + 'Maker makerAsset balance', ); expectBalanceWithin( newBalances[this._takerAddress][makerAssetAddress], + oldBalances[this._takerAddress][makerAssetAddress].plus(makerAssetFillAmount).minus(percentageFees), oldBalances[this._takerAddress][makerAssetAddress] - .plus(expectedResults.makerAssetFillAmount) - .minus(expectedResults.percentageFees), - oldBalances[this._takerAddress][makerAssetAddress] - .plus(expectedResults.makerAssetFillAmount) - .minus(expectedResults.percentageFees) - .plus(expectedResults.maxOverboughtMakerAsset), - ); - expect(newBalances[this._orderFeeRecipientAddress][makerAssetAddress]).to.be.bignumber.equal( - oldBalances[this._orderFeeRecipientAddress][makerAssetAddress].plus(expectedResults.percentageFees), + .plus(makerAssetFillAmount) + .minus(percentageFees) + .plus(maxOverboughtMakerAsset), + 'Taker makerAsset balance', ); - expect(newBalances[this._forwarderAddress][makerAssetAddress]).to.be.bignumber.equal(constants.ZERO_AMOUNT); + expect( + newBalances[this._orderFeeRecipientAddress][makerAssetAddress], + 'Order fee recipient makerAsset balance', + ).to.be.bignumber.equal(oldBalances[this._orderFeeRecipientAddress][makerAssetAddress].plus(percentageFees)); + expect( + newBalances[this._forwarderAddress][makerAssetAddress], + 'Forwarder contract makerAsset balance', + ).to.be.bignumber.equal(constants.ZERO_AMOUNT); } private async _checkResultsAsync( @@ -328,7 +250,7 @@ export class ForwarderTestFactory { expectedResults: ForwarderFillState, takerEthBalanceBefore: BigNumber, erc20Balances: ERC20BalancesByOwner, - makerAssetContract: DummyERC20TokenContract | DummyERC721TokenContract, + makerAssetContracts: Array, options: { forwarderFeePercentage?: BigNumber; forwarderFeeRecipientEthBalanceBefore?: BigNumber; @@ -340,18 +262,17 @@ export class ForwarderTestFactory { if (fractionalNumberOfOrdersToFill >= i + 1 && orderStatusesBefore[i] === OrderStatus.Fillable) { expectedOrderStatus = OrderStatus.FullyFilled; } - - expect(orderStatus).to.equal(expectedOrderStatus); + expect(orderStatus, ` Order ${i} status`).to.equal(expectedOrderStatus); } + const wethSpent = expectedResults.takerAssetFillAmount + .plus(expectedResults.protocolFees) + .plus(expectedResults.wethFees); const ethSpentOnForwarderFee = ForwarderTestFactory.getPercentageOfValue( - expectedResults.takerAssetFillAmount, + wethSpent, options.forwarderFeePercentage || constants.ZERO_AMOUNT, ); - const totalEthSpent = expectedResults.takerAssetFillAmount - .plus(expectedResults.wethFees) - .plus(ethSpentOnForwarderFee) - .plus(this._gasPrice.times(gasUsed)); + const totalEthSpent = wethSpent.plus(ethSpentOnForwarderFee).plus(this._gasPrice.times(gasUsed)); const takerEthBalanceAfter = await web3Wrapper.getBalanceInWeiAsync(this._takerAddress); const forwarderEthBalance = await web3Wrapper.getBalanceInWeiAsync(this._forwarderAddress); @@ -361,21 +282,24 @@ export class ForwarderTestFactory { takerEthBalanceAfter, takerEthBalanceBefore.minus(totalEthSpent).minus(expectedResults.maxOversoldWeth), takerEthBalanceBefore.minus(totalEthSpent), + 'Taker ETH balance', ); if (options.forwarderFeeRecipientEthBalanceBefore !== undefined) { const fowarderFeeRecipientEthBalanceAfter = await web3Wrapper.getBalanceInWeiAsync( this._forwarderFeeRecipientAddress, ); - expect(fowarderFeeRecipientEthBalanceAfter).to.be.bignumber.equal( + expect(fowarderFeeRecipientEthBalanceAfter, 'Forwarder fee recipient ETH balance').to.be.bignumber.equal( options.forwarderFeeRecipientEthBalanceBefore.plus(ethSpentOnForwarderFee), ); } - if (makerAssetContract instanceof DummyERC20TokenContract) { - this._checkErc20Balances(erc20Balances, newBalances, expectedResults, makerAssetContract); - } else if (options.makerAssetId !== undefined) { - const newOwner = await makerAssetContract.ownerOf.callAsync(options.makerAssetId); - expect(newOwner).to.be.bignumber.equal(this._takerAddress); + for (const makerAssetContract of makerAssetContracts) { + if (makerAssetContract instanceof DummyERC20TokenContract) { + this._checkErc20Balances(erc20Balances, newBalances, expectedResults, makerAssetContract); + } else if (options.makerAssetId !== undefined) { + const newOwner = await makerAssetContract.ownerOf.callAsync(options.makerAssetId); + expect(newOwner, 'New ERC721 owner').to.be.bignumber.equal(this._takerAddress); + } } expectBalanceWithin( @@ -384,12 +308,108 @@ export class ForwarderTestFactory { erc20Balances[this._makerAddress][this._wethAddress] .plus(expectedResults.takerAssetFillAmount) .plus(expectedResults.maxOversoldWeth), + 'Maker WETH balance', ); - expect(newBalances[this._orderFeeRecipientAddress][this._wethAddress]).to.be.bignumber.equal( + expect( + newBalances[this._orderFeeRecipientAddress][this._wethAddress], + 'Order fee recipient WETH balance', + ).to.be.bignumber.equal( erc20Balances[this._orderFeeRecipientAddress][this._wethAddress].plus(expectedResults.wethFees), ); - - expect(newBalances[this._forwarderAddress][this._wethAddress]).to.be.bignumber.equal(constants.ZERO_AMOUNT); + expect( + newBalances[this._forwarderAddress][this._wethAddress], + 'Forwarder contract WETH balance', + ).to.be.bignumber.equal(constants.ZERO_AMOUNT); expect(forwarderEthBalance).to.be.bignumber.equal(constants.ZERO_AMOUNT); } + + // Simulates filling some orders via the Forwarder contract. For example, if + // orders = [A, B, C, D] and fractionalNumberOfOrdersToFill = 2.3, then + // we simulate A and B being completely filled, and 0.3 * C being filled. + private _computeExpectedResults( + orders: SignedOrder[], + ordersInfoBefore: OrderInfo[], + fractionalNumberOfOrdersToFill: number, + ): ForwarderFillState { + const currentState: ForwarderFillState = { + takerAssetFillAmount: constants.ZERO_AMOUNT, + makerAssetFillAmount: {}, + protocolFees: constants.ZERO_AMOUNT, + wethFees: constants.ZERO_AMOUNT, + percentageFees: {}, + maxOversoldWeth: constants.ZERO_AMOUNT, + maxOverboughtMakerAsset: constants.ZERO_AMOUNT, + }; + let remainingOrdersToFill = fractionalNumberOfOrdersToFill; + + for (const [i, order] of orders.entries()) { + if (currentState.makerAssetFillAmount[order.makerAssetData] === undefined) { + currentState.makerAssetFillAmount[order.makerAssetData] = new BigNumber(0); + } + if (currentState.percentageFees[order.makerAssetData] === undefined) { + currentState.percentageFees[order.makerAssetData] = new BigNumber(0); + } + + if (remainingOrdersToFill === 0) { + break; + } + + if (ordersInfoBefore[i].orderStatus !== OrderStatus.Fillable) { + // If the order is not fillable, skip over it but still count it towards fractionalNumberOfOrdersToFill + remainingOrdersToFill = Math.max(remainingOrdersToFill - 1, 0); + continue; + } + + let makerAssetAmount; + let takerAssetAmount; + let takerFee; + if (remainingOrdersToFill < 1) { + makerAssetAmount = order.makerAssetAmount.times(remainingOrdersToFill).integerValue(); + takerAssetAmount = order.takerAssetAmount.times(remainingOrdersToFill).integerValue(); + takerFee = order.takerFee.times(remainingOrdersToFill).integerValue(); + + // Up to 1 wei worth of WETH will be oversold on the last order due to rounding + currentState.maxOversoldWeth = new BigNumber(1); + // Equivalently, up to 1 wei worth of maker asset will be overbought + currentState.maxOverboughtMakerAsset = currentState.maxOversoldWeth + .times(order.makerAssetAmount) + .dividedToIntegerBy(order.takerAssetAmount); + } else { + makerAssetAmount = order.makerAssetAmount; + takerAssetAmount = order.takerAssetAmount; + takerFee = order.takerFee; + } + + // Accounting for partially filled orders + // As with unfillable orders, these still count as 1 towards fractionalNumberOfOrdersToFill + const takerAssetFilled = ordersInfoBefore[i].orderTakerAssetFilledAmount; + const makerAssetFilled = takerAssetFilled + .times(order.makerAssetAmount) + .dividedToIntegerBy(order.takerAssetAmount); + takerAssetAmount = BigNumber.max(takerAssetAmount.minus(takerAssetFilled), constants.ZERO_AMOUNT); + makerAssetAmount = BigNumber.max(makerAssetAmount.minus(makerAssetFilled), constants.ZERO_AMOUNT); + + currentState.takerAssetFillAmount = currentState.takerAssetFillAmount.plus(takerAssetAmount); + currentState.makerAssetFillAmount[order.makerAssetData] = currentState.makerAssetFillAmount[ + order.makerAssetData + ].plus(makerAssetAmount); + + if (this._protocolFeeCollectorAddress !== constants.NULL_ADDRESS) { + currentState.protocolFees = currentState.protocolFees.plus( + this._gasPrice.times(this._protocolFeeMultiplier), + ); + } + if (order.takerFeeAssetData === order.makerAssetData) { + currentState.percentageFees[order.makerAssetData] = currentState.percentageFees[ + order.makerAssetData + ].plus(takerFee); + } else if (order.takerFeeAssetData === order.takerAssetData) { + currentState.wethFees = currentState.wethFees.plus(takerFee); + } + + remainingOrdersToFill = Math.max(remainingOrdersToFill - 1, 0); + } + + return currentState; + } } diff --git a/contracts/exchange-forwarder/tsconfig.json b/contracts/exchange-forwarder/tsconfig.json index e5d468a5ce..1fc2108a56 100644 --- a/contracts/exchange-forwarder/tsconfig.json +++ b/contracts/exchange-forwarder/tsconfig.json @@ -12,7 +12,8 @@ "generated-artifacts/MixinAssets.json", "generated-artifacts/MixinExchangeWrapper.json", "generated-artifacts/MixinForwarderCore.json", - "generated-artifacts/MixinWeth.json" + "generated-artifacts/MixinWeth.json", + "generated-artifacts/TestProtocolFeeCollector.json" ], "exclude": ["./deploy/solc/solc_bin"] } diff --git a/contracts/exchange-libs/CHANGELOG.json b/contracts/exchange-libs/CHANGELOG.json index f4c2d53115..9fd46bc262 100644 --- a/contracts/exchange-libs/CHANGELOG.json +++ b/contracts/exchange-libs/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "3.1.0", + "version": "3.1.0-beta.0", "changes": [ { "note": "Break up `LibEIP712` into reusable components", @@ -106,7 +106,8 @@ "note": "Update `IncompleteFillError` to take an `errorCode`, `expectedAssetFillAmount`, and `actualAssetFillAmount` fields.", "pr": 2075 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/contracts/exchange-libs/CHANGELOG.md b/contracts/exchange-libs/CHANGELOG.md index 2a1cad2768..80cb7c81aa 100644 --- a/contracts/exchange-libs/CHANGELOG.md +++ b/contracts/exchange-libs/CHANGELOG.md @@ -5,6 +5,35 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.0-beta.0 - _October 3, 2019_ + + * Break up `LibEIP712` into reusable components (#1742) + * Add `chainId` to EIP712 domain schema (#1742) + * Rename `verifyingContract` to `verifyingContractAddress` in domain schema (#1742) + * Add LibZeroExTransaction contract (#1753) + * Add verifyingContractIfExists arg to LibEIP712ExchangeDomain constructor (#1753) + * Remove LibEIP712ExchangeDomainConstants and LibEIP712 contracts (#1753) + * Add `LibExchangeRichErrorDecoder` contract. (#1790) + * Break out types/interaces from `MExchangeRichErrors` into `MExchangeRichErrorTypes`. (#1790) + * Reorder some revert error parameters for consistency (#1790) + * Add new `Order` fields for arbitrary fee tokens (ZEIP-28). (#1819) + * Remove `LibAbiEncoder` and `LibConstants`. (#1819) + * Add `generate-exchange-selectors` package script. (#1819) + * Add `expirationTimeSeconds` to `ZeroExTransaction` struct (#1823) + * Add reference functions for `LibMath` and `LibFillResults` (#2031) + * Move in revamped `LibMath` tests from the `contracts-exchange` package. (#2031) + * Move in revamped `LibFillResults` tests from the `contracts-exchange` package. (#2031) + * Remove unecessary zero-denominator checks in `LibMath`. (#2031) + * Fix coverage hooks. (#2031) + * Regenerate selectors. (#2042) + * Convert `LibFillResults`, `LibOrder`, `LibZeroExTransaction`, and `LibMath` to libraries (#2055) + * Remove `LibExchangeSelectors` (#2055) + * Add `LibExchangeRichErrors` (#2055) + * Add `calculateFillResults` and `calculateMatchedFillResults` to `LibFillResults` (#2055) + * Remove `_hashEIP712ExchangeMessage` from `LibEIP712ExchangeDomain` (#2055) + * Compile and export all contracts, artifacts, and wrappers by default (#2055) + * Update `IncompleteFillError` to take an `errorCode`, `expectedAssetFillAmount`, and `actualAssetFillAmount` fields. (#2075) + ## v3.0.8 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/exchange-libs/package.json b/contracts/exchange-libs/package.json index 1a0fba53cb..b22d8ec706 100644 --- a/contracts/exchange-libs/package.json +++ b/contracts/exchange-libs/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange-libs", - "version": "3.0.8", + "version": "3.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -48,12 +48,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/libs/README.md", "devDependencies": { - "@0x/subproviders": "^5.0.1", - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -73,14 +73,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-utils": "^3.2.4", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/exchange/CHANGELOG.json b/contracts/exchange/CHANGELOG.json index dbcbcf3cc9..741ff3f973 100644 --- a/contracts/exchange/CHANGELOG.json +++ b/contracts/exchange/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "3.0.0", + "version": "2.2.0-beta.0", "changes": [ { "note": "Use new/cheaper reentrancy guard/mutex", @@ -190,7 +190,8 @@ "note": "Overridden functions in `ReentrancyTester` now return sane values.", "pr": 2075 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/contracts/exchange/CHANGELOG.md b/contracts/exchange/CHANGELOG.md index f033196b0f..7850919cf0 100644 --- a/contracts/exchange/CHANGELOG.md +++ b/contracts/exchange/CHANGELOG.md @@ -5,6 +5,56 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.0-beta.0 - _October 3, 2019_ + + * Use new/cheaper reentrancy guard/mutex (#1699) + * Update domain separator (#1742) + * Refactor `executeTransaction` to take `ZeroExTransaction` struct as input (#1753) + * Refactor example contracts that use `executeTransaction` (#1753) + * Upgrade all string reverts to rich reverts (#1761) + * Add support for `SignatureType.OrderValidator` for orders (#1774) + * Add support for `SignatureType.WalletOrderValidator` for orders (#1774) + * Add a `bytes` return value to `executeTransaction`, which is equal to the encoded return data of the underlying Exchange function call (#1793) + * Implement `batchExecuteTransactions` (#1793) + * Refactor preSign to be compatible with `executeTransaction` (#1793) + * Remove ZRX fees in lieu of arbitrary maker and taker fee tokens. (#1819) + * Incorporate Multi-asset and ERC1155 tests into `fillOrder` and `matchOrders` tests (#1819) + * Swap fill order from maker -> taker to taker -> maker (#1819) + * Avoid redundant transfer in `fillOrder()` and `matchOrders()` when maker/taker is the same as feeRecipient and assets are the same (#1819) + * Implement `cancelOrderNoThrow` and `batchCancelOrdersNoThrow` functions (#1827) + * `executeTransaction` will now revert if the input transaction is expired (#1832) + * Log an `TransactionExecuted` event when an `executeTransaction` call is successful (#1832) + * Return a FillResults array for batch fill variants (#1834) + * Add `MixinTransferSimulator` contract for simulating multiple transfers on-chain (#1868) + * Add `EIP1271Wallet` signature type (#1885) + * Remove `WalletOrderValidator` and `OrderValidator` signature types (#1885) + * Make the regular `Validator` signature type have EIP1271 behavior (#1885) + * Always check signature types that are validated via contract (not just on first fill). (#1885) + * Remove unecessary rich revert error types. (#1885) + * Add `IEIP1271Wallet` interface (#1885) + * Add `validatorAddress` field to `SignatureValidatorError` rich reverts (#1885) + * Make `calculateMatchedFillResults` public (#1885) + * Updated RichErrors to the library pattern (#1913) + * Rewrote _dispatchTransferFrom in Solidity (#2020) + * Add `TestIsolatedExchange` contract and `IsolatedExchangeWrapper` test class (#2031) + * Add `ReferenceFunctions` as package export. (#2031) + * Remove `TestExchangeMath.sol`. Exchange math functions are now tested in the `exchange-libs` package and reference implementations are available there as well. (#2031) + * Remove functions from `TestExchangeInternals.sol` that are no longer tested in this package. (#2031) + * Remove `_assertValidFill()` (#2031) + * Add `wrapper_unit_tests` tests and `TestWrapperFunctions` contract (#2042) + * Disallow `signerAddress == 0` in signature validation functions. (#2042) + * Update `Wallet` signature type behavior to be in line with v2.1. (#2042) + * Add (semi) automated reentrancy tests and remove manual ones (#2042) + * Refactor to use new `LibFillResults`, `LibOrder`, `LibZeroExTransaction`, and `LibMath` to libraries (#2055) + * Remove `LibExchangeRichErrors` and `IExchangeRichErrors` (#2055) + * Use built in selectors instead of `LibExchangeSelectors` constants (#2055) + * Move `calculateFillResults` and `calculateMatchedFillResults` to `LibFillResults` in `exchange-libs` package (#2055) + * Compile and export all contracts, artifacts, and wrappers by default (#2055) + * Rename `marketSellOrders` and `marketBuyOrders` back to `marketSellOrdersNoThrow` and `marketBuyOrdersNoThrow`. (#2075) + * Introduce new `marketSellOrdersFillOrKill` and `marketBuyOrdersFillOrKill` functions. (#2075) + * Use `abi.decode()` in `LibExchangeRichErrorDecoder` over `LibBytes`. (#2075) + * Overridden functions in `ReentrancyTester` now return sane values. (#2075) + ## v2.1.14 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/exchange/package.json b/contracts/exchange/package.json index e14b5b896b..c8199af93e 100644 --- a/contracts/exchange/package.json +++ b/contracts/exchange/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-exchange", - "version": "2.1.14", + "version": "2.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -48,11 +48,13 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-multisig": "^3.2.0-beta.0", + "@0x/contracts-staking": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -71,19 +73,19 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-asset-proxy": "^2.2.8", - "@0x/contracts-erc1155": "^1.1.15", - "@0x/contracts-erc20": "^2.2.14", - "@0x/contracts-erc721": "^2.1.15", - "@0x/contracts-exchange-libs": "^3.0.8", - "@0x/contracts-utils": "^3.2.4", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-asset-proxy": "^2.3.0-beta.0", + "@0x/contracts-erc1155": "^1.2.0-beta.0", + "@0x/contracts-erc20": "^2.3.0-beta.0", + "@0x/contracts-erc721": "^2.2.0-beta.0", + "@0x/contracts-exchange-libs": "^3.1.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/contracts/exchange/src/index.ts b/contracts/exchange/src/index.ts index ba813e7caf..ea1294353f 100644 --- a/contracts/exchange/src/index.ts +++ b/contracts/exchange/src/index.ts @@ -1,3 +1,4 @@ export * from './artifacts'; export * from './wrappers'; export * from '../test/utils'; +export * from './wrapper_interfaces'; diff --git a/contracts/exchange/src/wrapper_interfaces.ts b/contracts/exchange/src/wrapper_interfaces.ts new file mode 100644 index 0000000000..11acfb6624 --- /dev/null +++ b/contracts/exchange/src/wrapper_interfaces.ts @@ -0,0 +1,53 @@ +import { PromiseWithTransactionHash } from '@0x/base-contract'; +import { BlockParam, CallData, TransactionReceiptWithDecodedLogs, TxData } from 'ethereum-types'; + +// Generated Wrapper Interfaces +export interface AssetProxyDispatcher { + registerAssetProxy: { + awaitTransactionSuccessAsync: ( + assetProxy: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ) => PromiseWithTransactionHash; + }; + getAssetProxy: { + callAsync(assetProxyId: string, callData?: Partial, defaultBlock?: BlockParam): Promise; + }; +} + +export interface Authorizable extends Ownable { + addAuthorizedAddress: { + awaitTransactionSuccessAsync: ( + target: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ) => PromiseWithTransactionHash; + }; + removeAuthorizedAddress: { + awaitTransactionSuccessAsync: ( + target: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ) => PromiseWithTransactionHash; + }; + authorized: { + callAsync(authority: string, callData?: Partial, defaultBlock?: BlockParam): Promise; + }; +} + +export interface Ownable { + transferOwnership: { + awaitTransactionSuccessAsync: ( + newOwner: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ) => PromiseWithTransactionHash; + }; + owner: { + callAsync(callData?: Partial, defaultBlock?: BlockParam): Promise; + }; +} diff --git a/contracts/exchange/test/core.ts b/contracts/exchange/test/core.ts index 1e55c3ec74..397ead2eb6 100644 --- a/contracts/exchange/test/core.ts +++ b/contracts/exchange/test/core.ts @@ -172,7 +172,7 @@ blockchainTests.resets('Exchange core', () => { await multiAssetProxy.registerAssetProxy.awaitTransactionSuccessAsync(staticCallProxy.address, { from: owner }); // Configure Exchange - exchangeWrapper = new ExchangeWrapper(exchange, provider); + exchangeWrapper = new ExchangeWrapper(exchange); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); await exchangeWrapper.registerAssetProxyAsync(erc721Proxy.address, owner); await exchangeWrapper.registerAssetProxyAsync(erc1155Proxy.address, owner); diff --git a/contracts/exchange/test/end-to-end/deployment.ts b/contracts/exchange/test/end-to-end/deployment.ts new file mode 100644 index 0000000000..a2ca5d856c --- /dev/null +++ b/contracts/exchange/test/end-to-end/deployment.ts @@ -0,0 +1,439 @@ +import { + artifacts as assetProxyArtifacts, + ERC1155ProxyContract, + ERC20ProxyContract, + ERC721ProxyContract, + MultiAssetProxyContract, + StaticCallProxyContract, +} from '@0x/contracts-asset-proxy'; +import { artifacts as multisigArtifacts, AssetProxyOwnerContract } from '@0x/contracts-multisig'; +import { + artifacts as stakingArtifacts, + ReadOnlyProxyContract, + StakingContract, + StakingEvents, + StakingExchangeAddedEventArgs, + StakingProxyContract, +} from '@0x/contracts-staking'; +import { blockchainTests, constants, expect, filterLogsToArguments } from '@0x/contracts-test-utils'; +import { + AuthorizableAuthorizedAddressAddedEventArgs, + AuthorizableAuthorizedAddressRemovedEventArgs, + AuthorizableEvents, +} from '@0x/contracts-utils'; +import { AssetProxyId } from '@0x/types'; +import { BigNumber } from '@0x/utils'; +import { TxData } from 'ethereum-types'; + +import { + artifacts as exchangeArtifacts, + AssetProxyDispatcher, + Authorizable, + ExchangeAssetProxyRegisteredEventArgs, + ExchangeContract, + ExchangeEvents, + ExchangeProtocolFeeCollectorAddressEventArgs, + ExchangeProtocolFeeMultiplierEventArgs, + Ownable, +} from '../../src'; + +// tslint:disable:no-unnecessary-type-assertion +blockchainTests('Deployment and Configuration End to End Tests', env => { + // Available Addresses + let owner: string; + + // Contract Instances + let assetProxyOwner: AssetProxyOwnerContract; + let erc20Proxy: ERC20ProxyContract; + let erc721Proxy: ERC721ProxyContract; + let erc1155Proxy: ERC1155ProxyContract; + let exchange: ExchangeContract; + let multiAssetProxy: MultiAssetProxyContract; + let readOnlyProxy: ReadOnlyProxyContract; + let staking: StakingContract; + let staticCallProxy: StaticCallProxyContract; + let stakingProxy: StakingProxyContract; + let stakingWrapper: StakingContract; + + // TxDefaults + let txDefaults: Partial; + + // ChainId of the Exchange + let chainId: number; + + // Protocol Fees + const protocolFeeMultiplier = new BigNumber(150000); + + before(async () => { + // Get the chain ID. + chainId = await env.getChainIdAsync(); + + // Create accounts and tx defaults + [owner] = await env.getAccountAddressesAsync(); + txDefaults = { + ...env.txDefaults, + from: owner, + }; + + // Deploy AssetProxyOwner. For the purposes of this test, we will assume that + // the AssetProxyOwner does not know what destinations will be needed during + // construction. + assetProxyOwner = await AssetProxyOwnerContract.deployFrom0xArtifactAsync( + multisigArtifacts.AssetProxyOwner, + env.provider, + txDefaults, + multisigArtifacts, + [], + [], + [], + [owner], + new BigNumber(1), + constants.ZERO_AMOUNT, + ); + + // Deploy Exchange. + exchange = await ExchangeContract.deployFrom0xArtifactAsync( + exchangeArtifacts.Exchange, + env.provider, + txDefaults, + exchangeArtifacts, + new BigNumber(chainId), + ); + + // Deploy ReadOnlyProxy. + readOnlyProxy = await ReadOnlyProxyContract.deployFrom0xArtifactAsync( + stakingArtifacts.ReadOnlyProxy, + env.provider, + txDefaults, + stakingArtifacts, + ); + + // Deploy Staking. + staking = await StakingContract.deployFrom0xArtifactAsync( + stakingArtifacts.Staking, + env.provider, + txDefaults, + stakingArtifacts, + ); + + // Deploy the staking proxy. + stakingProxy = await StakingProxyContract.deployFrom0xArtifactAsync( + stakingArtifacts.StakingProxy, + env.provider, + txDefaults, + stakingArtifacts, + staking.address, + readOnlyProxy.address, + ); + + // Authorize owner in the staking proxy. + await stakingProxy.addAuthorizedAddress.awaitTransactionSuccessAsync(owner); + + // Deploy the asset proxy contracts. + erc20Proxy = await ERC20ProxyContract.deployFrom0xArtifactAsync( + assetProxyArtifacts.ERC20Proxy, + env.provider, + txDefaults, + assetProxyArtifacts, + ); + erc721Proxy = await ERC721ProxyContract.deployFrom0xArtifactAsync( + assetProxyArtifacts.ERC721Proxy, + env.provider, + txDefaults, + assetProxyArtifacts, + ); + erc1155Proxy = await ERC1155ProxyContract.deployFrom0xArtifactAsync( + assetProxyArtifacts.ERC1155Proxy, + env.provider, + txDefaults, + assetProxyArtifacts, + ); + multiAssetProxy = await MultiAssetProxyContract.deployFrom0xArtifactAsync( + assetProxyArtifacts.MultiAssetProxy, + env.provider, + txDefaults, + assetProxyArtifacts, + ); + staticCallProxy = await StaticCallProxyContract.deployFrom0xArtifactAsync( + assetProxyArtifacts.StaticCallProxy, + env.provider, + txDefaults, + assetProxyArtifacts, + ); + + // Set up the staking wrapper so that the entire staking interface can be accessed + // easily through the proxy. + stakingWrapper = new StakingContract(stakingProxy.address, env.provider); + }); + + describe('deployment and configuration', () => { + describe('exchange specific', () => { + // Registers an asset proxy in the exchange contract and ensure that the correct state changes occurred. + async function registerAssetProxyAndAssertSuccessAsync( + registrationContract: AssetProxyDispatcher, + assetProxyAddress: string, + assetProxyId: string, + ): Promise { + // Register the asset proxy. + const receipt = await registrationContract.registerAssetProxy.awaitTransactionSuccessAsync( + assetProxyAddress, + { + from: owner, + }, + ); + + // Ensure that the correct event was logged. + const logs = filterLogsToArguments( + receipt.logs, + ExchangeEvents.AssetProxyRegistered, + ); + expect(logs).to.be.deep.eq([{ id: assetProxyId, assetProxy: assetProxyAddress }]); + + // Ensure that the asset proxy was actually registered. + const proxyAddress = await registrationContract.getAssetProxy.callAsync(assetProxyId); + expect(proxyAddress).to.be.eq(assetProxyAddress); + } + + // Authorizes an address for a given asset proxy using the owner address. + async function authorizeAddressAndAssertSuccessAsync( + authorizable: Authorizable, + newAuthorityAddress: string, + ): Promise { + // Authorize the address. + const receipt = await authorizable.addAuthorizedAddress.awaitTransactionSuccessAsync( + newAuthorityAddress, + { from: owner }, + ); + + // Ensure that the correct log was emitted. + const logs = filterLogsToArguments( + receipt.logs, + AuthorizableEvents.AuthorizedAddressAdded, + ); + expect(logs).to.be.deep.eq([{ target: newAuthorityAddress, caller: owner }]); + + // Ensure that the address was actually authorized. + const wasAuthorized = await authorizable.authorized.callAsync(newAuthorityAddress); + expect(wasAuthorized).to.be.true(); + } + + it('should successfully register the asset proxies in the exchange', async () => { + // Register the asset proxies in the exchange. + await registerAssetProxyAndAssertSuccessAsync(exchange, erc20Proxy.address, AssetProxyId.ERC20); + await registerAssetProxyAndAssertSuccessAsync(exchange, erc721Proxy.address, AssetProxyId.ERC721); + await registerAssetProxyAndAssertSuccessAsync(exchange, erc1155Proxy.address, AssetProxyId.ERC1155); + await registerAssetProxyAndAssertSuccessAsync( + exchange, + multiAssetProxy.address, + AssetProxyId.MultiAsset, + ); + await registerAssetProxyAndAssertSuccessAsync( + exchange, + staticCallProxy.address, + AssetProxyId.StaticCall, + ); + }); + + it('should successfully register the asset proxies in the multi-asset proxy', async () => { + // Register the asset proxies in the multi-asset proxy. + await registerAssetProxyAndAssertSuccessAsync(multiAssetProxy, erc20Proxy.address, AssetProxyId.ERC20); + await registerAssetProxyAndAssertSuccessAsync( + multiAssetProxy, + erc721Proxy.address, + AssetProxyId.ERC721, + ); + await registerAssetProxyAndAssertSuccessAsync( + multiAssetProxy, + erc1155Proxy.address, + AssetProxyId.ERC1155, + ); + await registerAssetProxyAndAssertSuccessAsync( + multiAssetProxy, + staticCallProxy.address, + AssetProxyId.StaticCall, + ); + }); + + it('should successfully add the exchange as an authority in the appropriate asset proxies', async () => { + // Authorize the exchange in all of the asset proxies, except for the static call proxy. + await authorizeAddressAndAssertSuccessAsync(erc20Proxy, exchange.address); + await authorizeAddressAndAssertSuccessAsync(erc721Proxy, exchange.address); + await authorizeAddressAndAssertSuccessAsync(erc1155Proxy, exchange.address); + await authorizeAddressAndAssertSuccessAsync(multiAssetProxy, exchange.address); + }); + + it('should successfully add the multi asset proxy as an authority in the appropriate asset proxies', async () => { + // Authorize the multi-asset proxy in the token asset proxies. + await authorizeAddressAndAssertSuccessAsync(erc20Proxy, multiAssetProxy.address); + await authorizeAddressAndAssertSuccessAsync(erc721Proxy, multiAssetProxy.address); + await authorizeAddressAndAssertSuccessAsync(erc1155Proxy, multiAssetProxy.address); + }); + }); + + describe('staking specific', () => { + it('should have properly configured the staking proxy with the logic contract and read-only proxy', async () => { + // Ensure that the registered read-only proxy is correct. + const readOnlyProxyAddress = await stakingProxy.readOnlyProxy.callAsync(); + expect(readOnlyProxyAddress).to.be.eq(readOnlyProxy.address); + + // Ensure that the registered read-only proxy callee is correct. + const readOnlyProxyCalleeAddress = await stakingProxy.readOnlyProxyCallee.callAsync(); + expect(readOnlyProxyCalleeAddress).to.be.eq(staking.address); + + // Ensure that the registered staking contract is correct. + const stakingAddress = await stakingProxy.stakingContract.callAsync(); + expect(stakingAddress).to.be.eq(staking.address); + }); + + it('should have initialized the correct parameters in the staking proxy', async () => { + // Ensure that the correct parameters were set. + const params = await stakingWrapper.getParams.callAsync(); + expect(params).to.be.deep.eq( + [ + 864000, // epochDurationInSeconds + 900000, // rewardDelegatedStakeWeight + 100000000000000000000, // minimumPoolStake + 10, // maximumMakerInPool + 1, // cobbDouglasAlphaNumerator + 2, // cobbDouglasAlphaDenominator + ].map(value => new BigNumber(value)), + ); + }); + }); + + describe('exchange and staking integration', () => { + it('should successfully register the exchange in the staking contract', async () => { + // Register the exchange. + const receipt = await stakingWrapper.addExchangeAddress.awaitTransactionSuccessAsync(exchange.address, { + from: owner, + }); + + // Ensure that the correct events were logged. + const logs = filterLogsToArguments( + receipt.logs, + StakingEvents.ExchangeAdded, + ); + expect(logs).to.be.deep.eq([{ exchangeAddress: exchange.address }]); + + // Ensure that the exchange was registered. + const wasRegistered = await stakingWrapper.validExchanges.callAsync(exchange.address); + expect(wasRegistered).to.be.true(); + }); + + it('should successfully register the staking contract in the exchange', async () => { + // Register the staking contract. + const receipt = await exchange.setProtocolFeeCollectorAddress.awaitTransactionSuccessAsync( + stakingProxy.address, + { + from: owner, + }, + ); + + // Ensure that the correct events were logged. + const logs = filterLogsToArguments( + receipt.logs, + ExchangeEvents.ProtocolFeeCollectorAddress, + ); + expect(logs).to.be.deep.eq([ + { + oldProtocolFeeCollector: constants.NULL_ADDRESS, + updatedProtocolFeeCollector: stakingProxy.address, + }, + ]); + + // Ensure that the staking contract was registered. + const feeCollector = await exchange.protocolFeeCollector.callAsync(); + expect(feeCollector).to.be.eq(stakingProxy.address); + }); + + it('should successfully update the protocol fee multiplier in the staking contract', async () => { + // Update the protocol fee multiplier. + const receipt = await exchange.setProtocolFeeMultiplier.awaitTransactionSuccessAsync( + protocolFeeMultiplier, + ); + + // Ensure that the correct events were logged. + const logs = filterLogsToArguments( + receipt.logs, + ExchangeEvents.ProtocolFeeMultiplier, + ); + expect(logs).to.be.deep.eq([ + { + oldProtocolFeeMultiplier: constants.ZERO_AMOUNT, + updatedProtocolFeeMultiplier: protocolFeeMultiplier, + }, + ]); + + // Ensure that the protocol fee multiplier was set correctly. + const multiplier = await exchange.protocolFeeMultiplier.callAsync(); + expect(multiplier).bignumber.to.be.eq(protocolFeeMultiplier); + }); + }); + }); + + describe('transferring ownership', () => { + // Removes authorization of the "externally owned address" owner and transfers the authorization + // to the asset proxy owner. + async function transferAuthorizationAndAssertSuccessAsync(contract: Authorizable): Promise { + // Remove authorization from the old owner. + let receipt = await contract.removeAuthorizedAddress.awaitTransactionSuccessAsync(owner, { from: owner }); + + // Ensure that the correct log was recorded. + let logs = filterLogsToArguments( + receipt.logs, + AuthorizableEvents.AuthorizedAddressRemoved, + ); + expect(logs).to.be.deep.eq([{ target: owner, caller: owner }]); + + // Ensure that the owner was actually removed. + let isAuthorized = await contract.authorized.callAsync(owner); + expect(isAuthorized).to.be.false(); + + // Authorize the asset-proxy owner. + receipt = await contract.addAuthorizedAddress.awaitTransactionSuccessAsync(assetProxyOwner.address, { + from: owner, + }); + + // Ensure that the correct log was recorded. + logs = filterLogsToArguments( + receipt.logs, + AuthorizableEvents.AuthorizedAddressAdded, + ); + expect(logs).to.be.deep.eq([{ target: assetProxyOwner.address, caller: owner }]); + + // Ensure that the asset-proxy owner was actually authorized. + isAuthorized = await contract.authorized.callAsync(assetProxyOwner.address); + expect(isAuthorized).to.be.true(); + } + + // Transfers ownership of a contract to the asset-proxy owner, and ensures that the change was actually made. + async function transferOwnershipAndAssertSuccessAsync(contract: Ownable): Promise { + // Transfer ownership to the new owner. + await contract.transferOwnership.awaitTransactionSuccessAsync(assetProxyOwner.address, { from: owner }); + + // Ensure that the owner address has been updated. + const ownerAddress = await contract.owner.callAsync(); + expect(ownerAddress).to.be.eq(assetProxyOwner.address); + } + + it('should transfer authorization of the owner to the asset-proxy owner in the staking contracts', async () => { + // Transfer authorization of the staking system. We intentionally neglect + // to add the asset-proxy owner as an authorized address in the asset proxies + // as a security precaution. + await transferAuthorizationAndAssertSuccessAsync(stakingProxy); + }); + + it('should transfer ownership of all appropriate contracts to the asset-proxy owner', async () => { + // Transfer ownership of most contracts (we exclude contracts that are not ownable). + await transferOwnershipAndAssertSuccessAsync(exchange); + await transferOwnershipAndAssertSuccessAsync(readOnlyProxy); + await transferOwnershipAndAssertSuccessAsync(staking); + await transferOwnershipAndAssertSuccessAsync(stakingProxy); + await transferOwnershipAndAssertSuccessAsync(erc20Proxy); + await transferOwnershipAndAssertSuccessAsync(erc721Proxy); + await transferOwnershipAndAssertSuccessAsync(erc1155Proxy); + await transferOwnershipAndAssertSuccessAsync(multiAssetProxy); + }); + }); +}); +// tslint:enable:no-unnecessary-type-assertion diff --git a/contracts/exchange/test/match_orders.ts b/contracts/exchange/test/match_orders.ts index ce2a899897..3c74932c8c 100644 --- a/contracts/exchange/test/match_orders.ts +++ b/contracts/exchange/test/match_orders.ts @@ -135,7 +135,7 @@ describe('matchOrders', () => { {}, new BigNumber(chainId), ); - exchangeWrapper = new ExchangeWrapper(exchange, provider); + exchangeWrapper = new ExchangeWrapper(exchange); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); await exchangeWrapper.registerAssetProxyAsync(erc721Proxy.address, owner); await exchangeWrapper.registerAssetProxyAsync(erc1155Proxy.address, owner); diff --git a/contracts/exchange/test/transactions.ts b/contracts/exchange/test/transactions.ts index d5d757afdc..13379a4ba0 100644 --- a/contracts/exchange/test/transactions.ts +++ b/contracts/exchange/test/transactions.ts @@ -96,7 +96,7 @@ blockchainTests.resets('Exchange transactions', env => { {}, new BigNumber(chainId), ); - exchangeWrapper = new ExchangeWrapper(exchangeInstance, env.provider); + exchangeWrapper = new ExchangeWrapper(exchangeInstance); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); await erc20Proxy.addAuthorizedAddress.awaitTransactionSuccessAsync(exchangeInstance.address, { from: owner }); diff --git a/contracts/exchange/test/utils/exchange_wrapper.ts b/contracts/exchange/test/utils/exchange_wrapper.ts index 69b64da172..dead507440 100644 --- a/contracts/exchange/test/utils/exchange_wrapper.ts +++ b/contracts/exchange/test/utils/exchange_wrapper.ts @@ -1,4 +1,4 @@ -import { BatchMatchOrder, orderUtils, Web3ProviderEngine } from '@0x/contracts-test-utils'; +import { BatchMatchOrder, orderUtils } from '@0x/contracts-test-utils'; import { BatchMatchedFillResults, FillResults, @@ -8,7 +8,7 @@ import { SignedZeroExTransaction, } from '@0x/types'; import { AbiEncoder, BigNumber } from '@0x/utils'; -import { MethodAbi, TransactionReceiptWithDecodedLogs, ZeroExProvider } from 'ethereum-types'; +import { MethodAbi, TransactionReceiptWithDecodedLogs } from 'ethereum-types'; import * as _ from 'lodash'; import { ExchangeContract } from '../../src'; @@ -16,18 +16,15 @@ import { ExchangeContract } from '../../src'; import { AbiDecodedFillOrderData } from './types'; export class ExchangeWrapper { - private readonly _exchange: ExchangeContract; - // tslint:disable no-unused-variable - constructor(exchangeContract: ExchangeContract, provider: Web3ProviderEngine | ZeroExProvider) { - this._exchange = exchangeContract; - } + constructor(public readonly exchangeContract: ExchangeContract) {} + public async fillOrderAsync( signedOrder: SignedOrder, from: string, opts: { takerAssetFillAmount?: BigNumber } = {}, ): Promise { const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); - const txReceipt = await this._exchange.fillOrder.awaitTransactionSuccessAsync( + const txReceipt = await this.exchangeContract.fillOrder.awaitTransactionSuccessAsync( params.order, params.takerAssetFillAmount, params.signature, @@ -37,7 +34,7 @@ export class ExchangeWrapper { } public async cancelOrderAsync(signedOrder: SignedOrder, from: string): Promise { const params = orderUtils.createCancel(signedOrder); - const txReceipt = await this._exchange.cancelOrder.awaitTransactionSuccessAsync(params.order, { from }); + const txReceipt = await this.exchangeContract.cancelOrder.awaitTransactionSuccessAsync(params.order, { from }); return txReceipt; } public async fillOrKillOrderAsync( @@ -46,7 +43,7 @@ export class ExchangeWrapper { opts: { takerAssetFillAmount?: BigNumber; gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); - const txReceipt = await this._exchange.fillOrKillOrder.awaitTransactionSuccessAsync( + const txReceipt = await this.exchangeContract.fillOrKillOrder.awaitTransactionSuccessAsync( params.order, params.takerAssetFillAmount, params.signature, @@ -59,7 +56,7 @@ export class ExchangeWrapper { from: string, opts: { takerAssetFillAmounts?: BigNumber[]; gasPrice?: BigNumber } = {}, ): Promise { - return this._exchange.batchFillOrders.awaitTransactionSuccessAsync( + return this.exchangeContract.batchFillOrders.awaitTransactionSuccessAsync( orders, opts.takerAssetFillAmounts === undefined ? orders.map(signedOrder => signedOrder.takerAssetAmount) @@ -73,7 +70,7 @@ export class ExchangeWrapper { from: string, opts: { takerAssetFillAmounts?: BigNumber[]; gasPrice?: BigNumber } = {}, ): Promise { - return this._exchange.batchFillOrKillOrders.awaitTransactionSuccessAsync( + return this.exchangeContract.batchFillOrKillOrders.awaitTransactionSuccessAsync( orders, opts.takerAssetFillAmounts === undefined ? orders.map(signedOrder => signedOrder.takerAssetAmount) @@ -87,7 +84,7 @@ export class ExchangeWrapper { from: string, opts: { takerAssetFillAmounts?: BigNumber[]; gas?: number; gasPrice?: BigNumber } = {}, ): Promise { - return this._exchange.batchFillOrdersNoThrow.awaitTransactionSuccessAsync( + return this.exchangeContract.batchFillOrdersNoThrow.awaitTransactionSuccessAsync( orders, opts.takerAssetFillAmounts === undefined ? orders.map(signedOrder => signedOrder.takerAssetAmount) @@ -101,7 +98,7 @@ export class ExchangeWrapper { from: string, opts: { takerAssetFillAmount: BigNumber; gas?: number; gasPrice?: BigNumber }, ): Promise { - return this._exchange.marketSellOrdersNoThrow.awaitTransactionSuccessAsync( + return this.exchangeContract.marketSellOrdersNoThrow.awaitTransactionSuccessAsync( orders, opts.takerAssetFillAmount, orders.map(signedOrder => signedOrder.signature), @@ -113,7 +110,7 @@ export class ExchangeWrapper { from: string, opts: { makerAssetFillAmount: BigNumber; gas?: number; gasPrice?: BigNumber }, ): Promise { - return this._exchange.marketBuyOrdersNoThrow.awaitTransactionSuccessAsync( + return this.exchangeContract.marketBuyOrdersNoThrow.awaitTransactionSuccessAsync( orders, opts.makerAssetFillAmount, orders.map(signedOrder => signedOrder.signature), @@ -125,7 +122,7 @@ export class ExchangeWrapper { from: string, opts: { takerAssetFillAmount: BigNumber; gas?: number }, ): Promise { - return this._exchange.marketSellOrdersFillOrKill.awaitTransactionSuccessAsync( + return this.exchangeContract.marketSellOrdersFillOrKill.awaitTransactionSuccessAsync( orders, opts.takerAssetFillAmount, orders.map(signedOrder => signedOrder.signature), @@ -137,7 +134,7 @@ export class ExchangeWrapper { from: string, opts: { makerAssetFillAmount: BigNumber; gas?: number }, ): Promise { - return this._exchange.marketBuyOrdersFillOrKill.awaitTransactionSuccessAsync( + return this.exchangeContract.marketBuyOrdersFillOrKill.awaitTransactionSuccessAsync( orders, opts.makerAssetFillAmount, orders.map(signedOrder => signedOrder.signature), @@ -148,19 +145,22 @@ export class ExchangeWrapper { orders: SignedOrder[], from: string, ): Promise { - return this._exchange.batchCancelOrders.awaitTransactionSuccessAsync(orders, { from }); + return this.exchangeContract.batchCancelOrders.awaitTransactionSuccessAsync(orders, { from }); } public async cancelOrdersUpToAsync(salt: BigNumber, from: string): Promise { - const txReceipt = await this._exchange.cancelOrdersUpTo.awaitTransactionSuccessAsync(salt, { from }); + const txReceipt = await this.exchangeContract.cancelOrdersUpTo.awaitTransactionSuccessAsync(salt, { from }); return txReceipt; } public async registerAssetProxyAsync( assetProxyAddress: string, from: string, ): Promise { - const txReceipt = await this._exchange.registerAssetProxy.awaitTransactionSuccessAsync(assetProxyAddress, { - from, - }); + const txReceipt = await this.exchangeContract.registerAssetProxy.awaitTransactionSuccessAsync( + assetProxyAddress, + { + from, + }, + ); return txReceipt; } public async executeTransactionAsync( @@ -168,7 +168,7 @@ export class ExchangeWrapper { from: string, opts: { gasPrice?: BigNumber } = {}, ): Promise { - return this._exchange.executeTransaction.awaitTransactionSuccessAsync( + return this.exchangeContract.executeTransaction.awaitTransactionSuccessAsync( signedTransaction, signedTransaction.signature, { from, gasPrice: opts.gasPrice }, @@ -180,25 +180,29 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber } = {}, ): Promise { const signatures = signedTransactions.map(signedTransaction => signedTransaction.signature); - return this._exchange.batchExecuteTransactions.awaitTransactionSuccessAsync(signedTransactions, signatures, { - from, - gasPrice: opts.gasPrice, - }); + return this.exchangeContract.batchExecuteTransactions.awaitTransactionSuccessAsync( + signedTransactions, + signatures, + { + from, + gasPrice: opts.gasPrice, + }, + ); } public async getTakerAssetFilledAmountAsync(orderHashHex: string): Promise { - const filledAmount = await this._exchange.filled.callAsync(orderHashHex); + const filledAmount = await this.exchangeContract.filled.callAsync(orderHashHex); return filledAmount; } public async isCancelledAsync(orderHashHex: string): Promise { - const isCancelled = await this._exchange.cancelled.callAsync(orderHashHex); + const isCancelled = await this.exchangeContract.cancelled.callAsync(orderHashHex); return isCancelled; } public async getOrderEpochAsync(makerAddress: string, senderAddress: string): Promise { - const orderEpoch = await this._exchange.orderEpoch.callAsync(makerAddress, senderAddress); + const orderEpoch = await this.exchangeContract.orderEpoch.callAsync(makerAddress, senderAddress); return orderEpoch; } public async getOrderInfoAsync(signedOrder: SignedOrder): Promise { - const orderInfo = await this._exchange.getOrderInfo.callAsync(signedOrder); + const orderInfo = await this.exchangeContract.getOrderInfo.callAsync(signedOrder); return orderInfo; } public async batchMatchOrdersAsync( @@ -208,7 +212,7 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createBatchMatchOrders(signedOrdersLeft, signedOrdersRight); - return this._exchange.batchMatchOrders.awaitTransactionSuccessAsync( + return this.exchangeContract.batchMatchOrders.awaitTransactionSuccessAsync( params.leftOrders, params.rightOrders, params.leftSignatures, @@ -221,7 +225,7 @@ export class ExchangeWrapper { from: string, opts: { gasPrice?: BigNumber } = {}, ): Promise { - return this._exchange.batchMatchOrders.awaitTransactionSuccessAsync( + return this.exchangeContract.batchMatchOrders.awaitTransactionSuccessAsync( params.leftOrders, params.rightOrders, params.leftSignatures, @@ -236,7 +240,7 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createBatchMatchOrders(signedOrdersLeft, signedOrdersRight); - const batchMatchedFillResults = await this._exchange.batchMatchOrders.callAsync( + const batchMatchedFillResults = await this.exchangeContract.batchMatchOrders.callAsync( params.leftOrders, params.rightOrders, params.leftSignatures, @@ -252,7 +256,7 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createBatchMatchOrders(signedOrdersLeft, signedOrdersRight); - return this._exchange.batchMatchOrdersWithMaximalFill.awaitTransactionSuccessAsync( + return this.exchangeContract.batchMatchOrdersWithMaximalFill.awaitTransactionSuccessAsync( params.leftOrders, params.rightOrders, params.leftSignatures, @@ -265,7 +269,7 @@ export class ExchangeWrapper { from: string, opts: { gasPrice?: BigNumber } = {}, ): Promise { - return this._exchange.batchMatchOrdersWithMaximalFill.awaitTransactionSuccessAsync( + return this.exchangeContract.batchMatchOrdersWithMaximalFill.awaitTransactionSuccessAsync( params.leftOrders, params.rightOrders, params.leftSignatures, @@ -280,7 +284,7 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createBatchMatchOrders(signedOrdersLeft, signedOrdersRight); - const batchMatchedFillResults = await this._exchange.batchMatchOrdersWithMaximalFill.callAsync( + const batchMatchedFillResults = await this.exchangeContract.batchMatchOrdersWithMaximalFill.callAsync( params.leftOrders, params.rightOrders, params.leftSignatures, @@ -296,7 +300,7 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createMatchOrders(signedOrderLeft, signedOrderRight); - const txReceipt = await this._exchange.matchOrders.awaitTransactionSuccessAsync( + const txReceipt = await this.exchangeContract.matchOrders.awaitTransactionSuccessAsync( params.left, params.right, params.leftSignature, @@ -312,7 +316,7 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createMatchOrders(signedOrderLeft, signedOrderRight); - const matchedFillResults = await this._exchange.matchOrders.callAsync( + const matchedFillResults = await this.exchangeContract.matchOrders.callAsync( params.left, params.right, params.leftSignature, @@ -328,7 +332,7 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createMatchOrders(signedOrderLeft, signedOrderRight); - return this._exchange.matchOrdersWithMaximalFill.awaitTransactionSuccessAsync( + return this.exchangeContract.matchOrdersWithMaximalFill.awaitTransactionSuccessAsync( params.left, params.right, params.leftSignature, @@ -343,7 +347,7 @@ export class ExchangeWrapper { opts: { gasPrice?: BigNumber }, ): Promise { const params = orderUtils.createMatchOrders(signedOrderLeft, signedOrderRight); - const matchedFillResults = await this._exchange.matchOrdersWithMaximalFill.callAsync( + const matchedFillResults = await this.exchangeContract.matchOrdersWithMaximalFill.callAsync( params.left, params.right, params.leftSignature, @@ -358,7 +362,7 @@ export class ExchangeWrapper { opts: { takerAssetFillAmount?: BigNumber; gasPrice?: BigNumber } = {}, ): Promise { const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); - const fillResults = await this._exchange.fillOrder.callAsync( + const fillResults = await this.exchangeContract.fillOrder.callAsync( params.order, params.takerAssetFillAmount, params.signature, @@ -368,7 +372,7 @@ export class ExchangeWrapper { } public abiEncodeFillOrder(signedOrder: SignedOrder, opts: { takerAssetFillAmount?: BigNumber } = {}): string { const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount); - const data = this._exchange.fillOrder.getABIEncodedTransactionData( + const data = this.exchangeContract.fillOrder.getABIEncodedTransactionData( params.order, params.takerAssetFillAmount, params.signature, @@ -377,13 +381,10 @@ export class ExchangeWrapper { } public abiDecodeFillOrder(data: string): AbiDecodedFillOrderData { // Lookup fillOrder ABI in exchange abi - const fillOrderAbi = _.find(this._exchange.abi, { name: 'fillOrder' }) as MethodAbi; + const fillOrderAbi = _.find(this.exchangeContract.abi, { name: 'fillOrder' }) as MethodAbi; // Decode input data const abiEncoder = new AbiEncoder.Method(fillOrderAbi); const decodedData = abiEncoder.decode(data) as AbiDecodedFillOrderData; return decodedData; } - public getExchangeAddress(): string { - return this._exchange.address; - } } diff --git a/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts b/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts index c53a51ead2..89cf4e801e 100644 --- a/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts +++ b/contracts/exchange/test/utils/fill_order_combinatorial_utils.ts @@ -117,7 +117,7 @@ export async function fillOrderCombinatorialUtilsFactoryAsync( ); const logDecoder = new LogDecoder(web3Wrapper, artifacts); - const exchangeWrapper = new ExchangeWrapper(exchangeContract, provider); + const exchangeWrapper = new ExchangeWrapper(exchangeContract); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, ownerAddress); await exchangeWrapper.registerAssetProxyAsync(erc721Proxy.address, ownerAddress); await exchangeWrapper.registerAssetProxyAsync(erc1155Proxy.address, ownerAddress); @@ -646,7 +646,7 @@ export class FillOrderCombinatorialUtils { const exchangeLogs = _.filter( txReceipt.logs, - txLog => txLog.address === this.exchangeWrapper.getExchangeAddress(), + txLog => txLog.address === this.exchangeWrapper.exchangeContract.address, ); expect(exchangeLogs.length).to.be.equal(1, 'logs length'); // tslint:disable-next-line:no-unnecessary-type-assertion diff --git a/contracts/exchange/test/wrapper.ts b/contracts/exchange/test/wrapper.ts index 9ecfe73add..22487d6b15 100644 --- a/contracts/exchange/test/wrapper.ts +++ b/contracts/exchange/test/wrapper.ts @@ -78,7 +78,7 @@ blockchainTests.resets('Exchange wrappers', env => { from: owner, }); - exchangeWrapper = new ExchangeWrapper(exchange, env.provider); + exchangeWrapper = new ExchangeWrapper(exchange); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); await erc20Proxy.addAuthorizedAddress.awaitTransactionSuccessAsync(exchange.address, { diff --git a/contracts/extensions/CHANGELOG.json b/contracts/extensions/CHANGELOG.json index 4968d29bb9..e357e80602 100644 --- a/contracts/extensions/CHANGELOG.json +++ b/contracts/extensions/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "4.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "4.0.8", diff --git a/contracts/extensions/CHANGELOG.md b/contracts/extensions/CHANGELOG.md index 42c4456624..71ef8b1e5c 100644 --- a/contracts/extensions/CHANGELOG.md +++ b/contracts/extensions/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v4.0.8 - _September 17, 2019_ * Dependencies updated @@ -40,6 +44,9 @@ CHANGELOG ## v4.0.0 - _July 13, 2019_ * Move `OrderValidator` to contracts/dev-utils package as `OrderValidationUtils` (#1848) + * Remove unused `LibOrder` inheritance (#1742) + * Refactor BalanceThresholdFilter to use new ITransactions interface (#1753) + * Update tests for rich reverts (#1761) ## v3.1.5 - _May 24, 2019_ diff --git a/contracts/extensions/package.json b/contracts/extensions/package.json index 9e58e524f9..982f4edf5e 100644 --- a/contracts/extensions/package.json +++ b/contracts/extensions/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-extensions", - "version": "4.0.8", + "version": "4.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -48,11 +48,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -71,19 +71,19 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-asset-proxy": "^2.2.8", - "@0x/contracts-erc20": "^2.2.14", - "@0x/contracts-erc721": "^2.1.15", - "@0x/contracts-exchange": "^2.1.14", - "@0x/contracts-exchange-libs": "^3.0.8", - "@0x/contracts-utils": "^3.2.4", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-asset-proxy": "^2.3.0-beta.0", + "@0x/contracts-erc20": "^2.3.0-beta.0", + "@0x/contracts-erc721": "^2.2.0-beta.0", + "@0x/contracts-exchange": "^2.2.0-beta.0", + "@0x/contracts-exchange-libs": "^3.1.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/extensions/test/balance_threshold_filter.ts b/contracts/extensions/test/balance_threshold_filter.ts index 1a90ae975a..1c5872fdaa 100644 --- a/contracts/extensions/test/balance_threshold_filter.ts +++ b/contracts/extensions/test/balance_threshold_filter.ts @@ -136,7 +136,7 @@ describe(ContractName.BalanceThresholdFilter, () => { zrxAssetData, new BigNumber(chainId), ); - exchangeWrapper = new ExchangeWrapper(exchangeInstance, provider); + exchangeWrapper = new ExchangeWrapper(exchangeInstance); // Register proxies await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); await erc20Proxy.addAuthorizedAddress.sendTransactionAsync(exchangeInstance.address, { diff --git a/contracts/extensions/test/dutch_auction.ts b/contracts/extensions/test/dutch_auction.ts index 82b2b4c659..e395bd21e2 100644 --- a/contracts/extensions/test/dutch_auction.ts +++ b/contracts/extensions/test/dutch_auction.ts @@ -95,7 +95,7 @@ describe(ContractName.DutchAuction, () => { zrxAssetData, new BigNumber(chainId), ); - const exchangeWrapper = new ExchangeWrapper(exchangeInstance, provider); + const exchangeWrapper = new ExchangeWrapper(exchangeInstance); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); await exchangeWrapper.registerAssetProxyAsync(erc721Proxy.address, owner); diff --git a/contracts/extensions/test/order_matcher.ts b/contracts/extensions/test/order_matcher.ts index cdc5d44a66..4b7359fb91 100644 --- a/contracts/extensions/test/order_matcher.ts +++ b/contracts/extensions/test/order_matcher.ts @@ -115,7 +115,7 @@ describe('OrderMatcher', () => { assetDataUtils.encodeERC20AssetData(zrxToken.address), new BigNumber(chainId), ); - exchangeWrapper = new ExchangeWrapper(exchange, provider); + exchangeWrapper = new ExchangeWrapper(exchange); await exchangeWrapper.registerAssetProxyAsync(erc20Proxy.address, owner); await exchangeWrapper.registerAssetProxyAsync(erc721Proxy.address, owner); // Authorize ERC20 trades by exchange diff --git a/contracts/multisig/CHANGELOG.json b/contracts/multisig/CHANGELOG.json index 80efc18e85..281deebef7 100644 --- a/contracts/multisig/CHANGELOG.json +++ b/contracts/multisig/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "3.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "3.1.14", diff --git a/contracts/multisig/CHANGELOG.md b/contracts/multisig/CHANGELOG.md index 7be0bb3a07..bc562e51c2 100644 --- a/contracts/multisig/CHANGELOG.md +++ b/contracts/multisig/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.2.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v3.1.14 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/multisig/package.json b/contracts/multisig/package.json index 73444c25e3..1e4d940868 100644 --- a/contracts/multisig/package.json +++ b/contracts/multisig/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-multisig", - "version": "3.1.14", + "version": "3.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -47,11 +47,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/multisig/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -69,15 +69,15 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-asset-proxy": "^2.2.8", - "@0x/contracts-erc20": "^2.2.14", - "@0x/contracts-utils": "^3.2.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-asset-proxy": "^2.3.0-beta.0", + "@0x/contracts-erc20": "^2.3.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/contracts/staking/CHANGELOG.json b/contracts/staking/CHANGELOG.json index da9df57fe2..8c747dbbee 100644 --- a/contracts/staking/CHANGELOG.json +++ b/contracts/staking/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "1.0.0", + "version": "1.1.0-beta.0", "changes": [ { "note": "Created package", @@ -70,6 +70,7 @@ "note": "Removed explicit dependency on epoch+1 when delegating.", "pr": 2188 } - ] + ], + "timestamp": 1570135330 } ] diff --git a/contracts/staking/CHANGELOG.md b/contracts/staking/CHANGELOG.md index 1004e94271..09c8668a43 100644 --- a/contracts/staking/CHANGELOG.md +++ b/contracts/staking/CHANGELOG.md @@ -4,3 +4,23 @@ Edit the package's CHANGELOG.json file only. --> CHANGELOG + +## v1.1.0-beta.0 - _October 3, 2019_ + + * Created package (#1821) + * First implementation (#1910) + * Replace `LibFeeMath` with `LibFixedMath`. (#2109) + * Use a more precise cobb-douglas implementation. (#2109) + * Change the way operator stake is computed. (#2109) + * Denominate pool operator shares in parts-per-million. (#2109) + * New stake management mechanics. Delay before delegation. Nixed shadow rewards. (#2118) + * Tests for new stake management mechanics. (#2126) + * Add `init()` pattern to contracts. (#2131) + * Replace `MixinDeploymentConstants` with `MixinParams`. (#2131) + * Reference counting for cumulative rewards. (#2154) + * Refactored Staking Reward Vault. Moved pool management logic into staking contract. (#2156) + * Removed MixinStakingPoolRewardVault.sol (#2156) + * Refactored out `_cobbDouglas()` into its own library (#2179) + * Introduce multi-block finalization. (#2155) + * Removed reference counting for cumulative rewards. (#2188) + * Removed explicit dependency on epoch+1 when delegating. (#2188) diff --git a/contracts/staking/package.json b/contracts/staking/package.json index 0e6a2ed35c..a168d7e721 100644 --- a/contracts/staking/package.json +++ b/contracts/staking/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-staking", - "version": "1.0.0", + "version": "1.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -49,13 +49,13 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", "devDependencies": { - "@0x/abi-gen": "^4.1.0", - "@0x/contracts-gen": "^1.0.13", - "@0x/contracts-test-utils": "^3.1.2", - "@0x/dev-utils": "^2.2.1", - "@0x/sol-compiler": "^3.1.6", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", - "@0x/utils": "^4.3.1", + "@0x/utils": "^4.5.2", "@types/lodash": "4.14.104", "@types/node": "*", "chai": "^4.0.1", @@ -74,16 +74,16 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.1.0", - "@0x/contracts-asset-proxy": "^2.2.5", - "@0x/contracts-erc20": "^2.2.0", - "@0x/contracts-utils": "^3.2.1", - "@0x/order-utils": "^8.1.0", - "@0x/types": "^2.2.2", - "@0x/typescript-typings": "^4.2.2", - "@0x/utils": "^4.3.1", - "@0x/web3-wrapper": "^6.0.6", - "ethereum-types": "^2.1.2", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-asset-proxy": "^2.3.0-beta.0", + "@0x/contracts-erc20": "^2.3.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 8496757a6f..c9655a02a2 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "4.0.0", + "version": "3.2.0-beta.0", "changes": [ { "note": "Add `chainId` to `TransactionFactory` constructor", @@ -93,8 +93,13 @@ { "note": "Add `shortZip()` to `lang_utils.ts`", "pr": 2155 + }, + { + "note": "Add `number_utils.ts` and `hexSize()`", + "pr": 2220 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/contracts/test-utils/CHANGELOG.md b/contracts/test-utils/CHANGELOG.md index 569ef8120d..de99badf7d 100644 --- a/contracts/test-utils/CHANGELOG.md +++ b/contracts/test-utils/CHANGELOG.md @@ -5,6 +5,33 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.2.0-beta.0 - _October 3, 2019_ + + * Add `chainId` to `TransactionFactory` constructor (#1742) + * Use new `Order` structure with `domain` field (#1742) + * Inherit `chaiSetup` from `@0x/dev-utils` (#1761) + * Add `generatePseudoRandomOrderHash()` to `orderUtils` (#1761) + * Inherit `OrderStatus` from `@0x/types` (#1761) + * Update types for arbitrary fee tokens (#1819) + * Remove formatters (#1834) + * Add `hexConcat()` in `hex_utils.ts` (#1885) + * Introduce Mocha blockchain extensions (#2007) + * Move `*FillResults`, `OrderInfo` types to `@0x/types` (#2031) + * Add `log_utils.ts` (#2031) + * Add `haxRandom()` to `hex_utils.ts` (#2031) + * Add the constants: `MAX_UINT256`, `ADDRESS_LENGTH`, `MAX_UINT256_ROOT`, `ONE_ETHER` (#2031) + * Make `testCombinatoriallyWithReferenceFuncAsync` non-async (#2031) + * Update `testWithReferenceFuncAsync` to work with `RevertErrors` (#2031) + * `web3Wrapper` is created with `shouldAllowUnlimitedContractSize` if `UNLIMITED_CONTRACT_SIZE` environment variable is set. (#2075) + * Add `toHex()`, `hexLeftPad()`, `hexRightPad()`, and 'hexInvert()' hex utils (#2109) + * Add `PPM_DENOMINATOR` and `PPM_100_PERCENT` constants. (#2109) + * Increase the number of ganache accounts to 20 (#2109) + * Add `Numberish` type. (#2131) + * Tweaks/Upgrades to `hex_utils`, most notably `hexSlice()` (#2155) + * Add `hexHash()` to `hex_utils` (#2155) + * Add `shortZip()` to `lang_utils.ts` (#2155) + * Add `number_utils.ts` and `hexSize()` (#2220) + ## v3.1.16 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index a08859950c..c629416b19 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-test-utils", - "version": "3.1.16", + "version": "3.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -34,41 +34,41 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/test-utils/README.md", "devDependencies": { - "@types/mocha": "^5.2.7", - "mocha": "^6.2.0", "npm-run-all": "^4.1.2", "shx": "^0.2.2", "tslint": "5.11.0", "typescript": "3.0.1" }, "dependencies": { - "@0x/dev-utils": "^2.3.3", - "@0x/order-utils": "^8.4.0", - "@0x/sol-compiler": "^3.1.15", - "@0x/sol-coverage": "^3.0.12", - "@0x/sol-profiler": "^3.1.14", - "@0x/sol-trace": "^2.0.20", - "@0x/subproviders": "^5.0.4", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", + "@0x/sol-coverage": "^3.1.0-beta.0", + "@0x/sol-profiler": "^3.2.0-beta.0", + "@0x/sol-trace": "^2.1.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", "@0x/tslint-config": "^3.0.1", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@types/bn.js": "^4.11.0", "@types/js-combinatorics": "^0.5.29", "@types/lodash": "4.14.104", + "@types/mocha": "^5.2.7", "@types/node": "*", "bn.js": "^4.11.8", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", "js-combinatorics": "^0.5.3", "lodash": "^4.17.11", - "make-promises-safe": "^1.1.0" + "make-promises-safe": "^1.1.0", + "mocha": "^6.2.0" }, "publishConfig": { "access": "public" diff --git a/contracts/test-utils/src/hex_utils.ts b/contracts/test-utils/src/hex_utils.ts index ad78e592e0..7a0efae0c6 100644 --- a/contracts/test-utils/src/hex_utils.ts +++ b/contracts/test-utils/src/hex_utils.ts @@ -65,6 +65,13 @@ export function hexHash(n: Numberish): string { return ethUtil.bufferToHex(ethUtil.sha3(ethUtil.toBuffer(toHex(n)))); } +/** + * Get the length, in bytes, of a hex string. + */ +export function hexSize(hex: string): number { + return Math.ceil((hex.length - 2) / 2); +} + /** * Convert a string, a number, or a BigNumber into a hex string. * Works with negative numbers, as well. diff --git a/contracts/test-utils/src/index.ts b/contracts/test-utils/src/index.ts index 4b13e555e1..68bc19c5b5 100644 --- a/contracts/test-utils/src/index.ts +++ b/contracts/test-utils/src/index.ts @@ -28,7 +28,17 @@ export { bytes32Values, testCombinatoriallyWithReferenceFunc, uint256Values } fr export { TransactionFactory } from './transaction_factory'; export { MutatorContractFunction, TransactionHelper } from './transaction_helper'; export { testWithReferenceFuncAsync } from './test_with_reference'; -export { hexConcat, hexHash, hexLeftPad, hexInvert, hexSlice, hexRandom, hexRightPad, toHex } from './hex_utils'; +export { + hexConcat, + hexHash, + hexLeftPad, + hexInvert, + hexSlice, + hexRandom, + hexRightPad, + hexSize, + toHex, +} from './hex_utils'; export { BatchMatchOrder, ContractName, @@ -51,3 +61,12 @@ export { blockchainTests, BlockchainTestsEnvironment, describe } from './mocha_b export { chaiSetup, expect } from './chai_setup'; export { getCodesizeFromArtifact } from './codesize'; export { shortZip } from './lang_utils'; +export { + assertIntegerRoughlyEquals, + assertRoughlyEquals, + getRandomFloat, + getRandomInteger, + getRandomPortion, + getNumericalDivergence, + toBaseUnitAmount, +} from './number_utils'; diff --git a/contracts/test-utils/src/mocha_blockchain.ts b/contracts/test-utils/src/mocha_blockchain.ts index 8c03d147d7..aa13658c7e 100644 --- a/contracts/test-utils/src/mocha_blockchain.ts +++ b/contracts/test-utils/src/mocha_blockchain.ts @@ -3,21 +3,20 @@ import { Web3ProviderEngine } from '@0x/subproviders'; import { providerUtils } from '@0x/utils'; import { TxData, Web3Wrapper } from '@0x/web3-wrapper'; import * as _ from 'lodash'; -// Import ambient declarations (and clobber Jest). -import 'mocha'; +import * as mocha from 'mocha'; import * as process from 'process'; import { provider, txDefaults, web3Wrapper } from './web3_wrapper'; // tslint:disable: no-namespace only-arrow-functions no-unbound-method -export type ISuite = Mocha.ISuite; -export type ISuiteCallbackContext = Mocha.ISuiteCallbackContext; +export type ISuite = mocha.ISuite; +export type ISuiteCallbackContext = mocha.ISuiteCallbackContext; export type SuiteCallback = (this: ISuiteCallbackContext) => void; export type ContextDefinitionCallback = (description: string, callback: SuiteCallback) => T; export type BlockchainSuiteCallback = (this: ISuiteCallbackContext, env: BlockchainTestsEnvironment) => void; export type BlockchainContextDefinitionCallback = (description: string, callback: BlockchainSuiteCallback) => T; -export interface ContextDefinition extends Mocha.IContextDefinition { +export interface ContextDefinition extends mocha.IContextDefinition { optional: ContextDefinitionCallback; } @@ -88,10 +87,10 @@ export class BlockchainTestsEnvironmentSingleton { } // The original `describe()` global provided by mocha. -const mochaDescribe = (global as any).describe as Mocha.IContextDefinition; +const mochaDescribe = (global as any).describe as mocha.IContextDefinition; /** - * An augmented version of Mocha's `describe()`. + * An augmented version of mocha's `describe()`. */ export const describe = _.assign(mochaDescribe, { optional(description: string, callback: SuiteCallback): ISuite | void { diff --git a/contracts/test-utils/src/number_utils.ts b/contracts/test-utils/src/number_utils.ts new file mode 100644 index 0000000000..829aaef8b4 --- /dev/null +++ b/contracts/test-utils/src/number_utils.ts @@ -0,0 +1,88 @@ +import { BigNumber } from '@0x/utils'; +import { Web3Wrapper } from '@0x/web3-wrapper'; +import * as crypto from 'crypto'; + +import { expect } from './chai_setup'; +import { Numberish } from './types'; + +/** + * Generate a random integer between `min` and `max`, inclusive. + */ +export function getRandomInteger(min: Numberish, max: Numberish): BigNumber { + const range = new BigNumber(max).minus(min); + return getRandomPortion(range).plus(min); +} + +/** + * Generate a random integer between `0` and `total`, inclusive. + */ +export function getRandomPortion(total: Numberish): BigNumber { + return new BigNumber(total).times(getRandomFloat(0, 1)).integerValue(BigNumber.ROUND_HALF_UP); +} + +/** + * Generate a random, high-precision decimal between `min` and `max`, inclusive. + */ +export function getRandomFloat(min: Numberish, max: Numberish): BigNumber { + // Generate a really high precision number between [0, 1] + const r = new BigNumber(crypto.randomBytes(32).toString('hex'), 16).dividedBy(new BigNumber(2).pow(256).minus(1)); + return new BigNumber(max) + .minus(min) + .times(r) + .plus(min); +} + +/** + * Converts two decimal numbers to integers with `precision` digits, then returns + * the absolute difference. + */ +export function getNumericalDivergence(a: Numberish, b: Numberish, precision: number = 18): number { + const _a = new BigNumber(a); + const _b = new BigNumber(b); + const maxIntegerDigits = Math.max( + _a.integerValue(BigNumber.ROUND_DOWN).sd(true), + _b.integerValue(BigNumber.ROUND_DOWN).sd(true), + ); + const _toInteger = (n: BigNumber) => { + const base = 10 ** (precision - maxIntegerDigits); + return n.times(base).integerValue(BigNumber.ROUND_DOWN); + }; + return _toInteger(_a) + .minus(_toInteger(_b)) + .abs() + .toNumber(); +} + +/** + * Asserts that two numbers are equal up to `precision` digits. + */ +export function assertRoughlyEquals(actual: Numberish, expected: Numberish, precision: number = 18): void { + if (getNumericalDivergence(actual, expected, precision) <= 1) { + return; + } + expect(actual).to.bignumber.eq(expected); +} + +/** + * Asserts that two numbers are equal with up to `maxError` difference between them. + */ +export function assertIntegerRoughlyEquals(actual: Numberish, expected: Numberish, maxError: number = 1): void { + const diff = new BigNumber(actual) + .minus(expected) + .abs() + .toNumber(); + if (diff <= maxError) { + return; + } + expect(actual).to.bignumber.eq(expected); +} + +/** + * Converts `amount` into a base unit amount with 18 digits. + */ +export function toBaseUnitAmount(amount: Numberish): BigNumber { + const decimals = 18; + const amountAsBigNumber = new BigNumber(amount); + const baseUnitAmount = Web3Wrapper.toBaseUnitAmount(amountAsBigNumber, decimals); + return baseUnitAmount; +} diff --git a/contracts/test-utils/src/order_factory.ts b/contracts/test-utils/src/order_factory.ts index b0f435ff2f..1a2e1187e6 100644 --- a/contracts/test-utils/src/order_factory.ts +++ b/contracts/test-utils/src/order_factory.ts @@ -20,10 +20,10 @@ export class OrderFactory { const tenMinutesInSeconds = 10 * 60; const currentBlockTimestamp = await getLatestBlockTimestampAsync(); const order = ({ + takerAddress: constants.NULL_ADDRESS, senderAddress: constants.NULL_ADDRESS, expirationTimeSeconds: new BigNumber(currentBlockTimestamp).plus(tenMinutesInSeconds), salt: generatePseudoRandomSalt(), - takerAddress: constants.NULL_ADDRESS, ...this._defaultOrderParams, ...customOrderParams, } as any) as Order; diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index 1557a9c289..ecd5d1401a 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "3.2.5", + "version": "3.3.0-beta.0", "changes": [ { "note": "Change ReentrancyGuard implementation to cheaper one", @@ -62,7 +62,8 @@ "note": "Introduce automatic normalization and some zero-value shortcuts in `LibFractions`.", "pr": 2155 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/contracts/utils/CHANGELOG.md b/contracts/utils/CHANGELOG.md index 54eaa536c4..61bb5936f8 100644 --- a/contracts/utils/CHANGELOG.md +++ b/contracts/utils/CHANGELOG.md @@ -5,6 +5,24 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.3.0-beta.0 - _October 3, 2019_ + + * Change ReentrancyGuard implementation to cheaper one (#1699) + * Add LibEIP712 contract (#1753) + * Add `RichErrors` and `mixins/MRichErrors` (#1761) + * Break out types/interaces from `MRichErrors` into `MRichErrorTypes`. (#1790) + * Add LibEIP1271.sol (#1885) + * Updated RichErrors to the library pattern, and implemented RichErrors for all remaining reverts and requires (#1913) + * Added unit tests for all of the internal functions in the package (#2014) + * Updated Ownable to revert when the owner attempts to transfer ownership to the zero address (#2019) + * Add reference functions for `SafeMath` functions. (#2031) + * Throw a `SafeMathError` in `SafeMath._safeDiv()` when denominator is zero. (#2031) + * Create `LibSafeMath` (#2055) + * Rename `_rrevert` to `rrevert` in `LibRichErrors` contract (#2055) + * Compile and export all contracts, artifacts, and wrappers by default (#2055) + * Added LibFractions (#2118) + * Introduce automatic normalization and some zero-value shortcuts in `LibFractions`. (#2155) + ## v3.2.4 - _September 17, 2019_ * Dependencies updated diff --git a/contracts/utils/package.json b/contracts/utils/package.json index 03d4ce5ce5..7f9631d7fc 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-utils", - "version": "3.2.4", + "version": "3.3.0-beta.0", "engines": { "node": ">=6.12" }, @@ -48,11 +48,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/contracts/utils/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/contracts-gen": "^1.0.15", - "@0x/contracts-test-utils": "^3.1.16", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", "@0x/tslint-config": "^3.0.1", "@types/bn.js": "^4.11.0", "@types/lodash": "4.14.104", @@ -72,14 +72,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "bn.js": "^4.11.8", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11" }, diff --git a/package.json b/package.json index 6e3d1f5465..cba7f7b99a 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,11 @@ "run:publish": "run-s install:all build:monorepo_scripts script:prepublish_checks rebuild script:publish", "run:publish:local": "IS_LOCAL_PUBLISH=true yarn run:publish", "script:prepublish_checks": "node ./packages/monorepo-scripts/lib/prepublish_checks.js", - "script:publish": "node ./packages/monorepo-scripts/lib/publish.js", + "script:publish": "DIST_TAG=protocolV3 node ./packages/monorepo-scripts/lib/publish.js", "install:all": "yarn install", "wsrun": "wsrun", "lerna": "lerna", - "build": "lerna link && wsrun build $PKG -r --stages --fast-exit --exclude-missing", + "build": "lerna link && wsrun build $PKG -r --stages --fast-exit --exclude-missing --exclude @0x/contracts-extensions --exclude @0x/contracts-coordinator", "build:ci": "lerna link && wsrun build:ci $PKG --fast-exit -r --stages --exclude-missing --exclude @0x/contracts-extensions --exclude @0x/contracts-coordinator", "build:contracts": "lerna link && wsrun build -p ${npm_package_config_contractsPackages} -c --fast-exit -r --stages --exclude-missing", "build:monorepo_scripts": "PKG=@0x/monorepo-scripts yarn build", @@ -65,7 +65,7 @@ }, { "path": "packages/instant/umd/instant.js", - "maxSize": "1460kB" + "maxSize": "1960kB" } ], "ci": { diff --git a/packages/0x.js/CHANGELOG.json b/packages/0x.js/CHANGELOG.json index a79dd838e2..e0e2540d12 100644 --- a/packages/0x.js/CHANGELOG.json +++ b/packages/0x.js/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "7.1.0-beta.0", + "changes": [ + { + "note": "Updated to work with 0x v3" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "7.0.2", diff --git a/packages/0x.js/CHANGELOG.md b/packages/0x.js/CHANGELOG.md index cc13f731fd..3a42df6373 100644 --- a/packages/0x.js/CHANGELOG.md +++ b/packages/0x.js/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v7.1.0-beta.0 - _October 3, 2019_ + + * Updated to work with 0x v3 + ## v7.0.2 - _September 17, 2019_ * Dependencies updated diff --git a/packages/0x.js/docs/reference.mdx b/packages/0x.js/docs/reference.mdx index 6718431846..038b1c97aa 100644 --- a/packages/0x.js/docs/reference.mdx +++ b/packages/0x.js/docs/reference.mdx @@ -1,28 +1,27 @@ - - -# Class: CoordinatorRegistryContract +# Class: DevUtilsContract ## Constructors -\+ **new CoordinatorRegistryContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[CoordinatorRegistryContract](#class-coordinatorregistrycontract)* +\+ **new DevUtilsContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[DevUtilsContract](#class-devutilscontract)* *Overrides void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:516](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L516)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:5507](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L5507)* **Parameters:** -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | DevUtilsContract.deployedBytecode | -**Returns:** *[CoordinatorRegistryContract](#class-coordinatorregistrycontract)* +**Returns:** *[DevUtilsContract](#class-devutilscontract)* ## Properties @@ -32,7 +31,7 @@ Name | Type | -Defined in base-contract/lib/src/index.d.ts:25 +Defined in base-contract/lib/src/index.d.ts:27 ___ @@ -42,7 +41,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -52,7 +51,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -62,7 +61,15 @@ ___ -Defined in base-contract/lib/src/index.d.ts:27 +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f3660046149dd565b61069f565b6040516102829291906152e4565b60405180910390f35b61029e6102993660046149dd565b6106fb565b60405161028293929190615387565b6102c06102bb366004614565565b6107a9565b604051610282929190615292565b6102e16102dc3660046149dd565b6107cb565b604051610282939291906154c2565b6103036102fe366004614565565b610828565b6040516102829190615731565b61032361031e3660046149dd565b610850565b604051610282939291906152b9565b6102c06103403660046149dd565b610897565b6103586103533660046149dd565b6108d9565b60405161028293929190615438565b61037a6103753660046149dd565b61092c565b6040516102829493929190615258565b61039d6103983660046149dd565b610976565b6040516102829291906154ab565b6103be6103b936600461448c565b6109cc565b60405161028291906151f2565b6103de6103d936600461435d565b610a4f565b60405161028291906153e7565b6103fe6103f93660046149dd565b610ad3565b60405161028293929190614fdf565b61042061041b3660046149dd565b610b0d565b6040516102829493929190615535565b61044361043e3660046149dd565b61164e565b604051610282929190615301565b61046461045f3660046149dd565b611686565b604051610282929190614fc5565b610303610480366004614565565b6116be565b6104436104933660046149dd565b611dd3565b6104ab6104a63660046149dd565b611e63565b60405161028294939291906154f1565b6104ce6104c93660046149dd565b611ec4565b604051610282959493929190615324565b6103be6104ed3660046145d4565b611f6f565b61050561050036600461463a565b611fe8565b60405161028291906150f9565b6103de6105203660046145a9565b6120ac565b6105386105333660046149dd565b612133565b6040516102829493929190615055565b6103de6105563660046144da565b61216f565b61056e6105693660046149dd565b6121fc565b604051610282939291906153b2565b61059061058b3660046149dd565b6122a9565b6040516102829291906152a0565b6105b16105ac3660046149dd565b6122e2565b604051610282929190615528565b6103be6105cd36600461448c565b612330565b6103036105e0366004614565565b61239e565b6105f86105f3366004614a94565b6129e1565b60405161028291906154dd565b6103de6106133660046147e2565b612f7e565b61062b6106263660046146be565b612fb6565b60405161028293929190615146565b61064d61064836600461448c565b6130ee565b604051610282929190615233565b61066e610669366004614aec565b613107565b604051610282939291906156d5565b61069061068b3660046149dd565b613341565b60405161028293929190615481565b6000806106b3836106ae61337e565b6133a2565b60006106cc60048551866133fc9092919063ffffffff16565b8060200190516106df9190810190614990565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61343f16565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b60405180910390fd5b61078e84601063ffffffff61347316565b91506107a184602463ffffffff6134a616565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134b2565b60006107f560048651876133fc9092919063ffffffff16565b8060200190516108089190810190614d20565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134d6565b925050505b92915050565b6000606080610861846106ae6134ec565b835161087790859060049063ffffffff6133fc16565b80602001905161088a9190810190614930565b9196909550909350915050565b6000806108a6836106ae613510565b82516108bc90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148d2565b9094909350915050565b60008060606108ea846106ae613534565b600061090360048651876133fc9092919063ffffffff16565b8060200190516109169190810190614cd4565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613558565b845161095490869060049063ffffffff6133fc16565b806020019051610967919081019061488e565b92989197509550909350915050565b600080610985836106ae61357c565b600061099e60048551866133fc9092919063ffffffff16565b8060200190516109b19190810190614c07565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fb1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a0565b8351610afa90859060049063ffffffff6133fc16565b80602001905161088a91908101906143b2565b60608080806000610b24868263ffffffff61343f16565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615630565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155f9565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135c416565b80602001905161117f9190810190614607565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c86613644565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c90565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135c416565b8060200190516113059190810190614a61565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c86613673565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c8661376d565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c90565b6114e8613c90565b60608061150260048b518c6135c49092919063ffffffff16565b8060200190516115159190810190614b43565b604080516002808252606082019092529498509296509094509250816020015b61153d613c90565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e1565b825161167390849060049063ffffffff6133fc16565b8060200190516108cf91908101906149b4565b600080611695836106ae613805565b82516116ab90849060049063ffffffff6133fc16565b8060200190516108cf9190810190614379565b6000806116d1838263ffffffff61343f16565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347316565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fb1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614f95565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134a616565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c0908490602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614f95565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347316565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a85929190615089565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614f95565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134a616565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c33908690600090819081906024016153fa565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614f95565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61343f16565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b611e5c83601063ffffffff61347316565b9050915091565b60008060006060611e76856106ae613829565b6000611e8f60048751886133fc9092919063ffffffff16565b806020019051611ea29190810190614c76565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61343f16565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e49085908590602401615089565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae61384d565b845161215c90869060049063ffffffff6133fc16565b80602001905161096791908101906143f4565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab908790879087908790602401615003565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61343f16565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b835161228c90859060049063ffffffff6135c416565b80602001905161229f9190810190614817565b9395909450915050565b600060606122b9836106ae613871565b82516122cf90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148f5565b6000806122f1836106ae613895565b600061230a60048551866133fc9092919063ffffffff16565b80602001905161231d9190810190614c07565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61343f16565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347316565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fc5565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614f95565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134a616565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e908790602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614f95565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347316565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614f95565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134a616565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d23565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614bef565b3a6138b9565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150a2565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614f95565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61343f16565b9050612e90613534565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134ec565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155c2565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615205565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d52565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d52565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b9906131599088906004016156f9565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a10565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb908990899060040161570c565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061486e565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393016565b156132ba576132b3846132ad848d6080015161395590919063ffffffff16565b85613971565b9050613313565b816132ce576132b3848b6080015185613971565b60006132df868c6101800151610828565b905060006132f2868d6080015187613971565b90506000613301838688613971565b905061330d82826134d6565b93505050505b61333361332d89604001518561399b90919063ffffffff16565b826134d6565b965050505050509250925092565b6000806000613352846106ae6139ba565b600061336b60048651876133fc9092919063ffffffff16565b8060200190516108089190810190614c34565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133af83600061343f565b90506001600160e01b0319808216908316146133f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615667565b505050565b60608183111561341a5761341a613415600085856139de565b613a4d565b83518211156134335761343361341560018487516139de565b50819003910190815290565b600081600401835110156134605761346061341560038551856004016139de565b5001602001516001600160e01b03191690565b600081601401835110156134945761349461341560048551856014016139de565b5001601401516001600160a01b031690565b60006120a58383613a55565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134e557816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135dd576135dd613415600085856139de565b83518211156135f6576135f661341560018487516139de565b8282036040519080825280601f01601f191660200182016040528015613623576020820181803883390190505b5090506120a561363282613a7f565b8461363c87613a7f565b018351613a85565b606080606061366060048551866135c49092919063ffffffff16565b80602001905161088a9190810190614715565b60408051600180825281830190925260609182918291816020015b613696613c90565b81526020019060019003908161368e5750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136df575050845190915061370c90859060049063ffffffff6135c416565b80602001905161371f9190810190614b9c565b8560008151811061372c57fe5b602002602001018560008151811061374057fe5b602002602001018560008151811061375457fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137a99186915060049063ffffffff6135c416565b8060200190516137bc919081019061478f565b845185906000906137c957fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c1613d23565b6020810184905260a085015160808601516138dd918691613b2a565b815260a085015160c08601516138f4918691613b2a565b604082015260a085015160e086015161390e918691613b2a565b6060820152613923828463ffffffff613b5e16565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341560008686613b8b565b600061399383613987868563ffffffff613b5e16565b9063ffffffff613baa16565b949350505050565b6000828211156139b4576139b461341560028585613b8b565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b8484846040516024016139fd939291906154cf565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7657613a7661341560058551856020016139de565b50016020015190565b60200190565b6020811015613aaf576001816020036101000a0380198351168185511680821786525050506133f7565b82821415613abc576133f7565b82821115613af65760208103905080820181840181515b82851015613aee578451865260209586019590940193613ad3565b9052506133f7565b60208103905080820181840183515b81861215613b215782518252601f199283019290910190613b05565b85525050505050565b6000613b37848484613bd4565b15613b4a57613b4a613415858585613c3a565b61399383613987868563ffffffff613b5e16565b600082613b6d5750600061084a565b82820282848281613b7a57fe5b04146120a5576120a5613415600186865b606063e946c1bb60e01b8484846040516024016139fd93929190615460565b600081613bc057613bc061341560038585613b8b565b6000828481613bcb57fe5b04949350505050565b600082613be657613be6613415613c59565b811580613bf1575083155b15613bfe575060006120a5565b60008380613c0857fe5b8584099050613c1d858463ffffffff613b5e16565b613c2f826103e863ffffffff613b5e16565b101595945050505050565b606063339f3de260e01b8484846040516024016139fd9392919061573a565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615816565b805161084a81615816565b600082601f830112613d98578081fd5b8135613dab613da682615777565b615750565b818152915060208083019084810181840286018201871015613dcc57600080fd5b60005b84811015611dc7578135613de281615816565b84529282019290820190600101613dcf565b600082601f830112613e04578081fd5b8151613e12613da682615777565b8181529150602080830190840160005b83811015613e4f57613e3a8760208451890101614074565b83526020928301929190910190600101613e22565b5050505092915050565b600082601f830112613e69578081fd5b8135613e77613da682615777565b8181529150602080830190840160005b83811015613e4f57613e9f8760208435890101614026565b83526020928301929190910190600101613e87565b600082601f830112613ec4578081fd5b8151613ed2613da682615777565b8181529150602080830190840160005b83811015613e4f57613efa8760208451890101614209565b83526020928301929190910190600101613ee2565b600082601f830112613f1f578081fd5b8135613f2d613da682615777565b8181529150602080830190840160005b83811015613e4f57613f5587602084358901016140ba565b83526020928301929190910190600101613f3d565b600082601f830112613f7a578081fd5b8151613f88613da682615777565b818152915060208083019084810181840286018201871015613fa957600080fd5b60005b84811015611dc757815184529282019290820190600101613fac565b600082601f830112613fd8578081fd5b8135613fe6613da682615777565b81815291506020808301908481018184028601820187101561400757600080fd5b60005b84811015611dc75781358452928201929082019060010161400a565b600082601f830112614036578081fd5b8135614044613da682615797565b915080825283602082850101111561405b57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112614084578081fd5b8151614092613da682615797565b91508082528360208285010111156140a957600080fd5b611dcc8160208401602086016157bb565b60006101c08083850312156140cd578182fd5b6140d681615750565b9150506140e38383613d72565b81526140f28360208401613d72565b60208201526141048360408401613d72565b60408201526141168360608401613d72565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff8082111561417857600080fd5b61418486838701614026565b838501526101609250828501359150808211156141a057600080fd5b6141ac86838701614026565b838501526101809250828501359150808211156141c857600080fd5b6141d486838701614026565b838501526101a09250828501359150808211156141f057600080fd5b506141fd85828601614026565b82840152505092915050565b60006101c080838503121561421c578182fd5b61422581615750565b9150506142328383613d7d565b81526142418360208401613d7d565b60208201526142538360408401613d7d565b60408201526142658360608401613d7d565b60608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015167ffffffffffffffff808211156142c757600080fd5b6142d386838701614074565b838501526101609250828501519150808211156142ef57600080fd5b6142fb86838701614074565b8385015261018092508285015191508082111561431757600080fd5b61432386838701614074565b838501526101a092508285015191508082111561433f57600080fd5b506141fd85828601614074565b805160ff8116811461084a57600080fd5b60006020828403121561436e578081fd5b81356120a581615816565b6000806040838503121561438b578081fd5b825161439681615816565b60208401519092506143a781615816565b809150509250929050565b6000806000606084860312156143c6578081fd5b83516143d181615816565b60208501519093506143e281615816565b80925050604084015190509250925092565b60008060008060808587031215614409578182fd5b845161441481615816565b602086015190945067ffffffffffffffff80821115614431578384fd5b61443d88838901614074565b94506040870151915080821115614452578384fd5b61445e88838901614074565b93506060870151915080821115614473578283fd5b5061448087828801614074565b91505092959194509250565b6000806040838503121561449e578182fd5b82356144a981615816565b9150602083013567ffffffffffffffff8111156144c4578182fd5b6144d085828601613e59565b9150509250929050565b600080600080608085870312156144ef578182fd5b84356144fa81615816565b9350602085013567ffffffffffffffff80821115614516578384fd5b61452288838901613fc8565b94506040870135915080821115614537578384fd5b61454388838901613fc8565b93506060870135915080821115614558578283fd5b5061448087828801614026565b60008060408385031215614577578182fd5b823561458281615816565b9150602083013567ffffffffffffffff81111561459d578182fd5b6144d085828601614026565b600080604083850312156145bb578182fd5b82356145c681615816565b946020939093013593505050565b6000602082840312156145e5578081fd5b813567ffffffffffffffff8111156145fb578182fd5b61399384828501613d88565b600060208284031215614618578081fd5b815167ffffffffffffffff81111561462e578182fd5b61399384828501613eb4565b60008060006060848603121561464e578081fd5b833567ffffffffffffffff80821115614665578283fd5b61467187838801613f0f565b94506020860135915080821115614686578283fd5b61469287838801613d88565b935060408601359150808211156146a7578283fd5b506146b486828701613fc8565b9150509250925092565b600080604083850312156146d0578182fd5b823567ffffffffffffffff808211156146e7578384fd5b6146f386838701613f0f565b93506020850135915080821115614708578283fd5b506144d085828601613e59565b600080600060608486031215614729578081fd5b835167ffffffffffffffff80821115614740578283fd5b61474c87838801613eb4565b94506020860151915080821115614761578283fd5b61476d87838801613f6a565b93506040860151915080821115614782578283fd5b506146b486828701613df4565b6000806000606084860312156147a3578081fd5b835167ffffffffffffffff808211156147ba578283fd5b6147c687838801613eb4565b9450602086015193506040860151915080821115614782578283fd5b600080604083850312156147f4578182fd5b823567ffffffffffffffff8082111561480b578384fd5b6146f386838701613fc8565b60008060408385031215614829578182fd5b825167ffffffffffffffff80821115614840578384fd5b61484c86838701613f6a565b93506020850151915080821115614861578283fd5b506144d085828601613df4565b60006020828403121561487f578081fd5b815180151581146120a5578182fd5b600080600080608085870312156148a3578182fd5b8451935060208501516148b581615816565b604086015190935067ffffffffffffffff80821115614452578384fd5b600080604083850312156148e4578182fd5b505080516020909101519092909150565b60008060408385031215614907578182fd5b82519150602083015167ffffffffffffffff811115614924578182fd5b6144d085828601614074565b600080600060608486031215614944578081fd5b83519250602084015167ffffffffffffffff80821115614962578283fd5b61496e87838801614074565b93506040860151915080821115614983578283fd5b506146b486828701614074565b600080604083850312156149a2578182fd5b8251915060208301516143a78161582b565b600080604083850312156149c6578182fd5b82516001600160e01b031981168114614396578283fd5b6000602082840312156149ee578081fd5b813567ffffffffffffffff811115614a04578182fd5b61399384828501614026565b60006060828403128015614a22578182fd5b8015614a2c578182fd5b50614a376060615750565b8251614a428161582b565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a72578081fd5b815167ffffffffffffffff811115614a88578182fd5b61399384828501614209565b600080600060608486031215614aa8578081fd5b833567ffffffffffffffff811115614abe578182fd5b614aca868287016140ba565b9350506020840135614adb81615816565b929592945050506040919091013590565b60008060408385031215614afe578182fd5b823567ffffffffffffffff80821115614b15578384fd5b614b21868387016140ba565b93506020850135915080821115614b36578283fd5b506144d085828601614026565b60008060008060808587031215614b58578182fd5b845167ffffffffffffffff80821115614b6f578384fd5b614b7b88838901614209565b95506020870151915080821115614b90578384fd5b61443d88838901614209565b600080600060608486031215614bb0578081fd5b835167ffffffffffffffff80821115614bc7578283fd5b614bd387838801614209565b9450602086015193506040860151915080821115614983578283fd5b600060208284031215614c00578081fd5b5051919050565b60008060408385031215614c19578182fd5b8251614c248161582b565b6020939093015192949293505050565b600080600060608486031215614c48578081fd5b8351614c538161582b565b602085015160408601519194509250614c6b81615816565b809150509250925092565b60008060008060808587031215614c8b578182fd5b614c95868661434c565b9350602085015192506040850151614cac81615816565b606086015190925067ffffffffffffffff811115614cc8578182fd5b61448087828801614074565b600080600060608486031215614ce8578081fd5b614cf2858561434c565b925060208401519150604084015167ffffffffffffffff811115614d14578182fd5b6146b486828701614074565b600080600060608486031215614d34578081fd5b614d3e858561434c565b925060208401519150604084015190509250925092565b1515815260200190565b6000614d6b8383614e78565b505060600190565b6001600160a01b03169052565b6000815180845260208401935060208301825b82811015614dba5781516001600160a01b0316865260209586019590910190600101614d93565b5093949350505050565b600081518084526020840180819550602083028101915060208501845b84811015614e0f578284038852614df9848351614e4c565b6020988901989094509190910190600101614de1565b50919695505050505050565b6000815180845260208401935060208301825b82811015614dba578151865260209586019590910190600101614e2e565b60008151808452614e648160208601602086016157bb565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ea4848451614d73565b6020830151614eb66020860182614d73565b506040830151614ec96040860182614d73565b506060830151614edc6060860182614d73565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f3583870182614e4c565b91505061016091508184015185820383870152614f528282614e4c565b925050506101808084015185830382870152614f6e8382614e4c565b9150506101a091508184015185820383870152614f8b8282614e4c565b9695505050505050565b60008251614fa78184602087016157bb565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150256080830186614e1b565b82810360408401526150378186614e1b565b83810360608501526150498186614e4c565b98975050505050505050565b60006001600160a01b0386168252608060208301526150776080830186614e4c565b82810360408401526150378186614e4c565b6001600160a01b03929092168252602082015260400190565b6000608082526150b56080830187614dc4565b82810360208401526150c78187614d80565b83810360408501526150d98187614d80565b91505082810360608401526150ee8185614e1b565b979650505050505050565b602080825282518282018190526000918401906040840190835b8181101561513b5783516005811061512757fe5b835260209384019390920191600101615113565b509095945050505050565b6000606082016060835280865161515d8184615731565b9150602088019250835b8181101561518b5761517a838551614d5f565b602094909401939250600101615167565b5050838103602085015261519f8187614e1b565b91505082810360408401528084516151b78184615731565b9150602086019250835b818110156151e5576151d4838551614d55565b6020949094019392506001016151c1565b5090979650505050505050565b6000602082526120a56020830184614e1b565b6000604082526152186040830185614e1b565b828103602084015261522a8185614dc4565b95945050505050565b6000604082526152466040830185614e1b565b828103602084015261522a8185614e1b565b60008582526001600160a01b0385166020830152608060408301526152806080830185614e4c565b82810360608401526150ee8185614e4c565b918252602082015260400190565b6000838252604060208301526139936040830184614e4c565b6000848252606060208301526152d26060830185614e4c565b8281036040840152614f8b8185614e4c565b828152604081016152f48361580c565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261535660a0830186614e1b565b82810360608401526153688186614e1b565b838103608085015261537a8186614e4c565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153d56060830185614e1b565b8281036040840152614f8b8185614dc4565b6000602082526120a56020830184614e4c565b60006080825261540d6080830187614e4c565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b6000615443856157eb565b8482528360208301526060604083015261522a6060830184614e4c565b6060810161546d856157f8565b938152602081019290925260409091015290565b6060810161548e85615802565b93815260208101929092526001600160a01b031660409091015290565b604081016154b8846157f8565b9281526020015290565b6060810161546d85615802565b606081016008851061546d57fe5b60208101600583106154eb57fe5b91905290565b60006154fc8661580c565b8582528460208301526001600160a01b038416604083015260806060830152614f8b6080830184614e4c565b604081016154b8846157eb565b6000608082526155486080830187614e4c565b602083820381850152818751808452828401915082838202850101838a01865b8381101561559657601f19878403018552615584838351614e94565b94860194925090850190600101615568565b505086810360408801526155aa818a614e1b565b94505050505082810360608401526150ee8185614dc4565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156e38286614e78565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614e94565b60006040825261571f6040830185614e94565b828103602084015261522a8185614e4c565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561576f57600080fd5b604052919050565b600067ffffffffffffffff82111561578d578081fd5b5060209081020190565b600067ffffffffffffffff8211156157ad578081fd5b50601f01601f191660200190565b60005b838110156157d65781810151838201526020016157be565b838111156157e5576000848401525b50505050565b600281106157f557fe5b50565b600481106157f557fe5b600381106157f557fe5b600781106157f557fe5b6001600160a01b03811681146157f557600080fd5b60ff811681146157f557600080fdfea365627a7a723158200ea049525ebc74d73f3bf7858c601bd21168267b0dfb4abbdb7787cfd7233a2c6c6578706572696d656e74616cf564736f6c634300050c0040" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L31)* ## Methods @@ -72,7 +79,7 @@ Defined in base-contract/lib/src/index.d.ts:27 -Defined in base-contract/lib/src/index.d.ts:38 +Defined in base-contract/lib/src/index.d.ts:42 **Parameters:** @@ -84,95 +91,11 @@ Name | Type | ___ -### getLogsAsync - -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [CoordinatorRegistryEvents](#enumeration-coordinatorregistryevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:500](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L500)* - -Gets historical logs without creating a subscription - -**Type parameters:** - -▪ **ArgsType**: *[CoordinatorRegistryEventArgs](#coordinatorregistryeventargs)* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`eventName` | [CoordinatorRegistryEvents](#enumeration-coordinatorregistryevents) | The CoordinatorRegistry contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | - -**Returns:** *`Promise>>`* - -Array of logs that match the parameters - -___ - -### subscribe - -▸ **subscribe**<**ArgsType**>(`eventName`: [CoordinatorRegistryEvents](#enumeration-coordinatorregistryevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:458](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L458)* - -Subscribe to an event type emitted by the CoordinatorRegistry contract. - -**Type parameters:** - -▪ **ArgsType**: *[CoordinatorRegistryEventArgs](#coordinatorregistryeventargs)* - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [CoordinatorRegistryEvents](#enumeration-coordinatorregistryevents) | - | The CoordinatorRegistry contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | - -**Returns:** *string* - -Subscription token used later to unsubscribe - -___ - -### unsubscribe - -▸ **unsubscribe**(`subscriptionToken`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:483](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L483)* - -Cancel a subscription - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | - -**Returns:** *void* - -___ - -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:489](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L489)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - ### `Static` ABI ▸ **ABI**(): *[ContractAbi](#contractabi)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L386)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4241](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4241)* **Returns:** *[ContractAbi](#contractabi)* @@ -182,9 +105,9 @@ ___ ### `Static` deployAsync -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:344](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L344)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4194)* **Parameters:** @@ -195,16 +118,17 @@ Name | Type | `supportedProvider` | [SupportedProvider](#supportedprovider) | `txDefaults` | `Partial` | `logDecodeDependencies` | object | +`_exchange` | string | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ ### `Static` deployFrom0xArtifactAsync -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:313](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L313)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4161](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4161)* **Parameters:** @@ -214,8 +138,9 @@ Name | Type | `supportedProvider` | [SupportedProvider](#supportedprovider) | `txDefaults` | `Partial` | `logDecodeDependencies` | object | +`_exchange` | string | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ @@ -225,7 +150,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -238,19 +163,19 @@ Name | Type | ## Object literals -### getCoordinatorEndpoint +### decodeAssetProxyDispatchError -#### ▪ **getCoordinatorEndpoint**: *object* +#### ▪ **decodeAssetProxyDispatchError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:227](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L227)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L36)* -Gets the endpoint for a Coordinator. +Decompose an ABI-encoded AssetProxyDispatchError. #### callAsync -▸ **callAsync**(`coordinatorOperator`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:234](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L234)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L44)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -260,17 +185,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`coordinatorOperator` | string | - | operator of the Coordinator endpoint. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[number, string, string]>`* + +errorCode The error code.orderHash Hash of the order being dispatched.assetData Asset data of the order being dispatched. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:304](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L304)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:109](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L109)* Decode the ABI-encoded return data from a transaction @@ -280,15 +207,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[number, string, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L292)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:97](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L97)* Decode the ABI-encoded transaction data into its input arguments @@ -298,15 +225,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`coordinatorOperator`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:279](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L279)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L84)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -316,7 +243,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`coordinatorOperator` | string | operator of the Coordinator endpoint. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -324,41 +251,19 @@ The ABI encoded transaction data as a string ___ -### setCoordinatorEndpoint - -#### ▪ **setCoordinatorEndpoint**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L52)* - -Called by a Coordinator operator to set the endpoint of their Coordinator. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`coordinatorEndpoint`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L88)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** +### decodeAssetProxyExistsError -Name | Type | Description | ------- | ------ | ------ | -`coordinatorEndpoint` | string | endpoint of the Coordinator. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +#### ▪ **decodeAssetProxyExistsError**: *object* -**Returns:** *`PromiseWithTransactionHash`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L120)* -A promise that resolves when the transaction is successful +Decompose an ABI-encoded AssetProxyExistsError. #### callAsync -▸ **callAsync**(`coordinatorEndpoint`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L148)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L128)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -368,36 +273,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`coordinatorEndpoint` | string | - | endpoint of the Coordinator. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`coordinatorEndpoint`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:115](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L115)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`coordinatorEndpoint` | string | endpoint of the Coordinator. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, string]>`* -The hash of the transaction +assetProxyId Id of asset proxy.assetProxyAddress The address of the asset proxy. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:216](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L216)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:193](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L193)* Decode the ABI-encoded return data from a transaction @@ -407,7 +295,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *[string, string]* An array representing the output results in order. Keynames of nested structs are preserved. @@ -415,7 +303,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:204](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L204)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L181)* Decode the ABI-encoded transaction data into its input arguments @@ -431,9 +319,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`coordinatorEndpoint`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:191](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L191)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L168)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -443,218 +331,203 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`coordinatorEndpoint` | string | endpoint of the Coordinator. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`coordinatorEndpoint`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L60)* +___ -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +### decodeAssetProxyTransferError -**Parameters:** +#### ▪ **decodeAssetProxyTransferError**: *object* -Name | Type | Description | ------- | ------ | ------ | -`coordinatorEndpoint` | string | endpoint of the Coordinator. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L204)* -**Returns:** *`Promise`* +Decompose an ABI-encoded AssetProxyTransferError. -The hash of the transaction +#### callAsync -#### validateAndSendTransactionAsync +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, string]>`* -▸ **validateAndSendTransactionAsync**(`coordinatorEndpoint`: string, `txData?`: `Partial` | undefined): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L212)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:134](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L134)* +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`coordinatorEndpoint` | string | -`txData?` | `Partial` \| undefined | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, string, string]>`* -
+orderHash Hash of the order being dispatched.assetData Asset data of the order being dispatched.errorData ABI-encoded revert data from the asset proxy. -# Class: DevUtilsContract +#### getABIDecodedReturnData +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, string]* -## Constructors +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:277](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L277)* +Decode the ABI-encoded return data from a transaction +**Parameters:** -\+ **new DevUtilsContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[DevUtilsContract](#class-devutilscontract)* +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -*Overrides void* +**Returns:** *[string, string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3329)* +An array representing the output results in order. Keynames of nested structs are preserved. -**Parameters:** +#### getABIDecodedTransactionData -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -**Returns:** *[DevUtilsContract](#class-devutilscontract)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:265](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L265)* -## Properties +Decode the ABI-encoded transaction data into its input arguments -#### abi +**Parameters:** -• **abi**: *[ContractAbi](#contractabi)* +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | +**Returns:** *[string]* +An array representing the input arguments in order. Keynames of nested structs are preserved. -Defined in base-contract/lib/src/index.d.ts:25 +#### getABIEncodedTransactionData -___ +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -### address +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:252](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L252)* -• **address**: *string* +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | +**Returns:** *string* -Defined in base-contract/lib/src/index.d.ts:26 +The ABI encoded transaction data as a string ___ -Args - -• **constructorArgs**: *any[]* +### decodeEIP1271SignatureError +#### ▪ **decodeEIP1271SignatureError**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:288](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L288)* -Defined in base-contract/lib/src/index.d.ts:28 +Decompose an ABI-encoded SignatureValidatorError. -___ +#### callAsync -### contractName +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, string, string]>`* -• **contractName**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:296](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L296)* +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. +**Parameters:** -Defined in base-contract/lib/src/index.d.ts:27 +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -## Methods +**Returns:** *`Promise<[string, string, string, string]>`* -### evmExecAsync +signerAddress The expected signer of the hash.signature The full signature bytes.errorData The revert data thrown by the validator contract. -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +#### getABIDecodedReturnData +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, string, string]* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L361)* -Defined in base-contract/lib/src/index.d.ts:38 +Decode the ABI-encoded return data from a transaction **Parameters:** -Name | Type | ------- | ------ | -`input` | `Buffer` | +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -**Returns:** *`Promise`* +**Returns:** *[string, string, string, string]* -___ +An array representing the output results in order. Keynames of nested structs are preserved. -### `Static` ABI +#### getABIDecodedTransactionData -▸ **ABI**(): *[ContractAbi](#contractabi)* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2549](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2549)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L349)* -**Returns:** *[ContractAbi](#contractabi)* +Decode the ABI-encoded transaction data into its input arguments -The contract ABI +**Parameters:** -___ +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | -### `Static` deployAsync +**Returns:** *[string]* -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_zrxAssetData`: string): *`Promise`* +An array representing the input arguments in order. Keynames of nested structs are preserved. -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2501](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2501)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | -`_zrxAssetData` | string | - -**Returns:** *`Promise`* - -___ +#### getABIEncodedTransactionData -### `Static` deployFrom0xArtifactAsync +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_zrxAssetData`: string): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L336)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2466](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2466)* +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | -`_zrxAssetData` | string | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | -**Parameters:** +**Returns:** *string* -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | +The ABI encoded transaction data as a string -**Returns:** *string* +___ -## Object literals +### decodeERC1155AssetData -### ERC1155_PROXY_ID +#### ▪ **decodeERC1155AssetData**: *object* -#### ▪ **ERC1155_PROXY_ID**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L374)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:206](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L206)* +Decode ERC-1155 asset data from the format described in the AssetProxy contract specification. #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber[], BigNumber[], string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L212)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:383](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L383)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -662,18 +535,21 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-1155 set of assets. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, string, BigNumber[], BigNumber[], string]>`* + +The ERC-1155 AssetProxy identifier, the address of the ERC-1155 contract hosting the assets, an array of the identifiers of the assets to be traded, an array of asset amounts to be traded, and callback data. Each element of the arrays corresponds to the same-indexed element of the other array. Return values specified as `memory` are returned as pointers to locations within the memory of the input parameter `assetData`. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`[], `BigNumber`[], string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:271](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L271)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L449)* Decode the ABI-encoded return data from a transaction @@ -683,15 +559,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[string, string, `BigNumber`[], `BigNumber`[], string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:259](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L259)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:437](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L437)* Decode the ABI-encoded transaction data into its input arguments @@ -701,37 +577,45 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`assetData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:249](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L249)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:426](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L426)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetProxy-compliant asset data describing an ERC-1155 set of assets. | + **Returns:** *string* The ABI encoded transaction data as a string ___ -### ERC20_PROXY_ID +### decodeERC20AssetData + +#### ▪ **decodeERC20AssetData**: *object* -#### ▪ **ERC20_PROXY_ID**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:462](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L462)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1008](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1008)* +Decode ERC-20 asset data from the format described in the AssetProxy contract specification. #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1014](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1014)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:470](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L470)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -739,18 +623,21 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-20 asset. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, string]>`* + +The ERC-20 AssetProxy identifier, and the address of the ERC-20 contract hosting this asset. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1073](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1073)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:533](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L533)* Decode the ABI-encoded return data from a transaction @@ -760,15 +647,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[string, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1061](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1061)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:521](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L521)* Decode the ABI-encoded transaction data into its input arguments @@ -778,37 +665,45 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`assetData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1051](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1051)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:510](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L510)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetProxy-compliant asset data describing an ERC-20 asset. | + **Returns:** *string* The ABI encoded transaction data as a string ___ -### ERC721_PROXY_ID +### decodeERC721AssetData + +#### ▪ **decodeERC721AssetData**: *object* -#### ▪ **ERC721_PROXY_ID**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:544](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L544)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1499](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1499)* +Decode ERC-721 asset data from the format described in the AssetProxy contract specification. #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1505](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1505)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:553](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L553)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -816,18 +711,21 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-721 asset. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, string, BigNumber]>`* + +The ERC-721 AssetProxy identifier, the address of the ERC-721 contract hosting this asset, and the identifier of the specific asset to be traded. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1564](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1564)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L617)* Decode the ABI-encoded return data from a transaction @@ -837,15 +735,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[string, string, `BigNumber`]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1552](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1552)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:605](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L605)* Decode the ABI-encoded transaction data into its input arguments @@ -855,37 +753,45 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`assetData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1542](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1542)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:594](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L594)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetProxy-compliant asset data describing an ERC-721 asset. | + **Returns:** *string* The ABI encoded transaction data as a string ___ -### MULTI_ASSET_PROXY_ID +### decodeExchangeInvalidContextError -#### ▪ **MULTI_ASSET_PROXY_ID**: *object* +#### ▪ **decodeExchangeInvalidContextError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1660](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1660)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L628)* + +Decompose an ABI-encoded OrderStatusError. #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1666](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1666)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:636](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L636)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -893,18 +799,21 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[number, string, string]>`* + +errorCode Error code that corresponds to invalid maker, taker, or sender.orderHash The order hash.contextAddress The maker, taker, or sender address #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1725](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1725)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:701](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L701)* Decode the ABI-encoded return data from a transaction @@ -914,15 +823,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[number, string, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1713](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1713)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L689)* Decode the ABI-encoded transaction data into its input arguments @@ -932,37 +841,45 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1703](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1703)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L676)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + **Returns:** *string* The ABI encoded transaction data as a string ___ -### STATIC_CALL_PROXY_ID +### decodeFillError -#### ▪ **STATIC_CALL_PROXY_ID**: *object* +#### ▪ **decodeFillError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2295](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2295)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:712](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L712)* + +Decompose an ABI-encoded FillError. #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2301](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2301)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:720](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L720)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -970,18 +887,21 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[number, string]>`* + +errorCode The error code.orderHash The order hash. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2360](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2360)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:783](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L783)* Decode the ABI-encoded return data from a transaction @@ -991,15 +911,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[number, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2348](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2348)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:771](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L771)* Decode the ABI-encoded transaction data into its input arguments @@ -1009,39 +929,45 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2338](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2338)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:760](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L760)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + **Returns:** *string* The ABI encoded transaction data as a string ___ -### decodeERC1155AssetData +### decodeIncompleteFillError -#### ▪ **decodeERC1155AssetData**: *object* +#### ▪ **decodeIncompleteFillError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1336)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:794](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L794)* -Decode ERC-1155 asset data from the format described in the AssetProxy contract specification. +Decompose an ABI-encoded IncompleteFillError. #### callAsync -▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber[], BigNumber[], string]>`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, BigNumber, BigNumber]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1345](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1345)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:802](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L802)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1051,19 +977,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-1155 set of assets. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[string, string, BigNumber[], BigNumber[], string]>`* +**Returns:** *`Promise<[number, BigNumber, BigNumber]>`* -The ERC-1155 AssetProxy identifier, the address of the ERC-1155 contract hosting the assets, an array of the identifiers of the assets to be traded, an array of asset amounts to be traded, and callback data. Each element of the arrays corresponds to the same-indexed element of the other array. Return values specified as `memory` are returned as pointers to locations within the memory of the input parameter `assetData`. +orderHash Hash of the order being filled. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`[], `BigNumber`[], string]* +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, `BigNumber`, `BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1404](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1404)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:867](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L867)* Decode the ABI-encoded return data from a transaction @@ -1073,7 +999,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[string, string, `BigNumber`[], `BigNumber`[], string]* +**Returns:** *[number, `BigNumber`, `BigNumber`]* An array representing the output results in order. Keynames of nested structs are preserved. @@ -1081,7 +1007,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1392)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:855](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L855)* Decode the ABI-encoded transaction data into its input arguments @@ -1097,9 +1023,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`assetData`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1381](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1381)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:842](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L842)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1109,7 +1035,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`assetData` | string | AssetProxy-compliant asset data describing an ERC-1155 set of assets. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1117,19 +1043,19 @@ The ABI encoded transaction data as a string ___ -### decodeERC20AssetData +### decodeMultiAssetData -#### ▪ **decodeERC20AssetData**: *object* +#### ▪ **decodeMultiAssetData**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1084](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1084)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:878](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L878)* -Decode ERC-20 asset data from the format described in the AssetProxy contract specification. +Decode multi-asset data from the format described in the AssetProxy contract specification. #### callAsync -▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, BigNumber[], string[]]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1092](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1092)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:886](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L886)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1139,19 +1065,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-20 asset. | +`assetData` | string | - | AssetProxy-compliant data describing a multi-asset basket. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[string, string]>`* +**Returns:** *`Promise<[string, BigNumber[], string[]]>`* -The ERC-20 AssetProxy identifier, and the address of the ERC-20 contract hosting this asset. +The Multi-Asset AssetProxy identifier, an array of the amounts of the assets to be traded, and an array of the AssetProxy-compliant data describing each asset to be traded. Each element of the arrays corresponds to the same-indexed element of the other array. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, `BigNumber`[], string[]]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1148)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:949](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L949)* Decode the ABI-encoded return data from a transaction @@ -1161,7 +1087,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[string, string]* +**Returns:** *[string, `BigNumber`[], string[]]* An array representing the output results in order. Keynames of nested structs are preserved. @@ -1169,7 +1095,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1136)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:937](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L937)* Decode the ABI-encoded transaction data into its input arguments @@ -1187,7 +1113,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`assetData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1125](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1125)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:926](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L926)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1197,7 +1123,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`assetData` | string | AssetProxy-compliant asset data describing an ERC-20 asset. | +`assetData` | string | AssetProxy-compliant data describing a multi-asset basket. | **Returns:** *string* @@ -1205,19 +1131,19 @@ The ABI encoded transaction data as a string ___ -### decodeERC721AssetData +### decodeNegativeSpreadError -#### ▪ **decodeERC721AssetData**: *object* +#### ▪ **decodeNegativeSpreadError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L34)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:962](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L962)* -Decode ERC-721 asset data from the format described in the AssetProxy contract specification. +Decompose an ABI-encoded NegativeSpreadError. #### callAsync -▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber]>`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L43)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:970](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L970)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1227,19 +1153,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-721 asset. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[string, string, BigNumber]>`* +**Returns:** *`Promise<[string, string]>`* -The ERC-721 AssetProxy identifier, the address of the ERC-721 contract hosting this asset, and the identifier of the specific asset to be traded. +leftOrderHash Hash of the left order being matched.rightOrderHash Hash of the right order being matched. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`]* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:100](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L100)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1035](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1035)* Decode the ABI-encoded return data from a transaction @@ -1249,7 +1175,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[string, string, `BigNumber`]* +**Returns:** *[string, string]* An array representing the output results in order. Keynames of nested structs are preserved. @@ -1257,7 +1183,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L88)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1023](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1023)* Decode the ABI-encoded transaction data into its input arguments @@ -1273,9 +1199,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`assetData`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:77](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L77)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1010](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1010)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1285,7 +1211,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`assetData` | string | AssetProxy-compliant asset data describing an ERC-721 asset. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1293,19 +1219,19 @@ The ABI encoded transaction data as a string ___ -### decodeMultiAssetData +### decodeOrderEpochError -#### ▪ **decodeMultiAssetData**: *object* +#### ▪ **decodeOrderEpochError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1937](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1937)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1046](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1046)* -Decode multi-asset data from the format described in the AssetProxy contract specification. +Decompose an ABI-encoded OrderEpochError. #### callAsync -▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, BigNumber[], string[]]>`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1945](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1945)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1054](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1054)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1315,19 +1241,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`assetData` | string | - | AssetProxy-compliant data describing a multi-asset basket. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[string, BigNumber[], string[]]>`* +**Returns:** *`Promise<[string, string, BigNumber]>`* -The Multi-Asset AssetProxy identifier, an array of the amounts of the assets to be traded, and an array of the AssetProxy-compliant data describing each asset to be traded. Each element of the arrays corresponds to the same-indexed element of the other array. +makerAddress The order maker.orderSenderAddress The order sender.currentEpoch The current epoch for the maker. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[string, `BigNumber`[], string[]]* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2001](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2001)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1117)* Decode the ABI-encoded return data from a transaction @@ -1337,7 +1263,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[string, `BigNumber`[], string[]]* +**Returns:** *[string, string, `BigNumber`]* An array representing the output results in order. Keynames of nested structs are preserved. @@ -1345,7 +1271,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1989](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1989)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1105](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1105)* Decode the ABI-encoded transaction data into its input arguments @@ -1361,9 +1287,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`assetData`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1978](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1978)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1094](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1094)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1373,7 +1299,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`assetData` | string | AssetProxy-compliant data describing a multi-asset basket. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1381,19 +1307,19 @@ The ABI encoded transaction data as a string ___ -### decodeZeroExTransactionData +### decodeOrderStatusError -#### ▪ **decodeZeroExTransactionData**: *object* +#### ▪ **decodeOrderStatusError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:559](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L559)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1128)* -Decodes the call data for an Exchange contract method call. +Decompose an ABI-encoded OrderStatusError. #### callAsync -▸ **callAsync**(`transactionData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, Array, BigNumber[], string[]]>`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, number]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:568](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L568)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1136)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1403,19 +1329,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`transactionData` | string | - | ABI-encoded calldata for an Exchange contract method call. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[string, Array, BigNumber[], string[]]>`* +**Returns:** *`Promise<[string, number]>`* -The name of the function called, and the parameters it was given. For single-order fills and cancels, the arrays will have just one element. +orderHash The order hash.orderStatus The order status. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[string, `Array`, `BigNumber`[], string[]]* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, number]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:667](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L667)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1199](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1199)* Decode the ABI-encoded return data from a transaction @@ -1425,7 +1351,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[string, `Array`, `BigNumber`[], string[]]* +**Returns:** *[string, number]* An array representing the output results in order. Keynames of nested structs are preserved. @@ -1433,7 +1359,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:655](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L655)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1187)* Decode the ABI-encoded transaction data into its input arguments @@ -1449,9 +1375,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`transactionData`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:642](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L642)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1176](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1176)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1461,7 +1387,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`transactionData` | string | ABI-encoded calldata for an Exchange contract method call. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1469,19 +1395,19 @@ The ABI encoded transaction data as a string ___ -### encodeERC1155AssetData +### decodeSignatureError -#### ▪ **encodeERC1155AssetData**: *object* +#### ▪ **decodeSignatureError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1736](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1736)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1210](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1210)* -Encode ERC-1155 asset data into the format described in the AssetProxy contract specification. +Decompose an ABI-encoded SignatureError. #### callAsync -▸ **callAsync**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string, string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1749](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1749)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1218)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1491,22 +1417,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`tokenAddress` | string | - | The address of the ERC-1155 contract hosting the asset(s) to be traded. | -`tokenIds` | `BigNumber`[] | - | The identifiers of the specific assets to be traded. | -`tokenValues` | `BigNumber`[] | - | The amounts of each asset to be traded. | -`callbackData` | string | - | Data to be passed to receiving contracts when a transfer is performed. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[number, string, string, string]>`* -AssetProxy-compliant asset data describing the set of assets. +errorCode The error code.signerAddress The expected signer of the hash.signature The full signature. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string, string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1830](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1830)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1281)* Decode the ABI-encoded return data from a transaction @@ -1516,15 +1439,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[number, string, string, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1818](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1818)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1269](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1269)* Decode the ABI-encoded transaction data into its input arguments @@ -1534,15 +1457,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1796](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1796)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1258](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1258)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1552,10 +1475,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`tokenAddress` | string | The address of the ERC-1155 contract hosting the asset(s) to be traded. | -`tokenIds` | `BigNumber`[] | The identifiers of the specific assets to be traded. | -`tokenValues` | `BigNumber`[] | The amounts of each asset to be traded. | -`callbackData` | string | Data to be passed to receiving contracts when a transfer is performed. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1563,19 +1483,19 @@ The ABI encoded transaction data as a string ___ -### encodeERC20AssetData +### decodeSignatureValidatorNotApprovedError -#### ▪ **encodeERC20AssetData**: *object* +#### ▪ **decodeSignatureValidatorNotApprovedError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:478](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L478)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1294](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1294)* -Encode ERC-20 asset data into the format described in the AssetProxy contract specification. +Decompose an ABI-encoded SignatureValidatorNotApprovedError. #### callAsync -▸ **callAsync**(`tokenAddress`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:487](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L487)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1302](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1302)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1585,19 +1505,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`tokenAddress` | string | - | The address of the ERC-20 contract hosting the asset to be traded. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, string]>`* -AssetProxy-compliant data describing the asset. +signerAddress The expected signer of the hash.validatorAddress The expected validator. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:548](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L548)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1370](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1370)* Decode the ABI-encoded return data from a transaction @@ -1607,15 +1527,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[string, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:536](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L536)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1358)* Decode the ABI-encoded transaction data into its input arguments @@ -1625,15 +1545,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`tokenAddress`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:523](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L523)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1344](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1344)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1643,7 +1563,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`tokenAddress` | string | The address of the ERC-20 contract hosting the asset to be traded. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1651,19 +1571,19 @@ The ABI encoded transaction data as a string ___ -### encodeERC721AssetData +### decodeSignatureWalletError -#### ▪ **encodeERC721AssetData**: *object* +#### ▪ **decodeSignatureWalletError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1575](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1575)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1381)* -Encode ERC-721 asset data into the format described in the AssetProxy specification. +Decompose an ABI-encoded SignatureWalletError. #### callAsync -▸ **callAsync**(`tokenAddress`: string, `tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1585](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1585)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1389)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1673,20 +1593,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`tokenAddress` | string | - | The address of the ERC-721 contract hosting the asset to be traded. | -`tokenId` | `BigNumber` | - | The identifier of the specific asset to be traded. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, string, string, string]>`* -AssetProxy-compliant asset data describing the asset. +errorCode The error code.signerAddress The expected signer of the hash.signature The full signature bytes.errorData The revert data thrown by the validator contract. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1652](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1652)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1454](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1454)* Decode the ABI-encoded return data from a transaction @@ -1696,15 +1615,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[string, string, string, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1640](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1640)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1442)* Decode the ABI-encoded transaction data into its input arguments @@ -1714,15 +1633,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1625](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1625)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1429)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1732,8 +1651,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`tokenAddress` | string | The address of the ERC-721 contract hosting the asset to be traded. | -`tokenId` | `BigNumber` | The identifier of the specific asset to be traded. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1741,19 +1659,19 @@ The ABI encoded transaction data as a string ___ -### encodeMultiAssetData +### decodeTransactionError -#### ▪ **encodeMultiAssetData**: *object* +#### ▪ **decodeTransactionError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2210](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2210)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1467](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1467)* -Encode data for multiple assets, per the AssetProxy contract specification. +Decompose an ABI-encoded TransactionError. #### callAsync -▸ **callAsync**(`amounts`: `BigNumber`[], `nestedAssetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2220](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2220)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1475)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1763,20 +1681,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`amounts` | `BigNumber`[] | - | The amounts of each asset to be traded. | -`nestedAssetData` | string[] | - | AssetProxy-compliant data describing each asset to be traded. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[number, string]>`* -AssetProxy-compliant data describing the set of assets. +errorCode The error code.transactionHash Hash of the transaction. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2287](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2287)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1538](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1538)* Decode the ABI-encoded return data from a transaction @@ -1786,15 +1703,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *[number, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`[]* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2275](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2275)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1526](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1526)* Decode the ABI-encoded transaction data into its input arguments @@ -1804,15 +1721,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`BigNumber`[]* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`amounts`: `BigNumber`[], `nestedAssetData`: string[]): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2260](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2260)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1515](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1515)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1822,8 +1739,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`amounts` | `BigNumber`[] | The amounts of each asset to be traded. | -`nestedAssetData` | string[] | AssetProxy-compliant data describing each asset to be traded. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1831,19 +1747,19 @@ The ABI encoded transaction data as a string ___ -### getAssetProxyAllowance +### decodeTransactionExecutionError -#### ▪ **getAssetProxyAllowance**: *object* +#### ▪ **decodeTransactionExecutionError**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2112](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2112)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1549](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1549)* -Returns the number of asset(s) (described by assetData) that the corresponding AssetProxy contract is authorized to spend. When the asset data contains multiple assets (eg for Multi-Asset), the return value indicates how many complete "baskets" of those assets may be spent by all of the corresponding AssetProxy contracts. +Decompose an ABI-encoded TransactionExecutionError. #### callAsync -▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2122)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1557](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1557)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1853,20 +1769,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`ownerAddress` | string | - | Owner of the assets specified by assetData. | -`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | +`encoded` | string | - | ABI-encoded revert error. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, string]>`* -Number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. +transactionHash Hash of the transaction.errorData Error thrown by exeucteTransaction(). #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2199](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2199)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1622)* Decode the ABI-encoded return data from a transaction @@ -1876,15 +1791,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *[string, string]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2187](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2187)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1610](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1610)* Decode the ABI-encoded transaction data into its input arguments @@ -1894,15 +1809,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2172](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2172)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1597](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1597)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -1912,8 +1827,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`ownerAddress` | string | Owner of the assets specified by assetData. | -`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | +`encoded` | string | ABI-encoded revert error. | **Returns:** *string* @@ -1921,19 +1835,19 @@ The ABI encoded transaction data as a string ___ -### getBalance +### decodeZeroExTransactionData -#### ▪ **getBalance**: *object* +#### ▪ **decodeZeroExTransactionData**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:718](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L718)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1633](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1633)* -Returns the owner's balance of the assets(s) specified in assetData. When the asset data contains multiple assets (eg in ERC1155 or Multi-Asset), the return value indicates how many complete "baskets" of those assets are owned by owner. +Decodes the call data for an Exchange contract method call. #### callAsync -▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`transactionData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, Array, BigNumber[], string[]]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:728](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L728)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1642](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1642)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -1943,20 +1857,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`ownerAddress` | string | - | Owner of the assets specified by assetData. | -`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | +`transactionData` | string | - | ABI-encoded calldata for an Exchange contract method call. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[string, Array, BigNumber[], string[]]>`* -Number of assets (or asset baskets) held by owner. +The name of the function called, and the parameters it was given. For single-order fills and cancels, the arrays will have just one element. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, `Array`, `BigNumber`[], string[]]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:805](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L805)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1752](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1752)* Decode the ABI-encoded return data from a transaction @@ -1966,15 +1879,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *[string, `Array`, `BigNumber`[], string[]]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:793](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L793)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1740](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1740)* Decode the ABI-encoded transaction data into its input arguments @@ -1984,15 +1897,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* +▸ **getABIEncodedTransactionData**(`transactionData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:778](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L778)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1727](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1727)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2002,8 +1915,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`ownerAddress` | string | Owner of the assets specified by assetData. | -`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | +`transactionData` | string | ABI-encoded calldata for an Exchange contract method call. | **Returns:** *string* @@ -2011,19 +1923,19 @@ The ABI encoded transaction data as a string ___ -### getBalanceAndAssetProxyAllowance +### encodeERC1155AssetData -#### ▪ **getBalanceAndAssetProxyAllowance**: *object* +#### ▪ **encodeERC1155AssetData**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L111)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1807](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1807)* -Calls getBalance() and getAllowance() for assetData. +Encode ERC-1155 asset data into the format described in the AssetProxy contract specification. #### callAsync -▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber, BigNumber]>`* +▸ **callAsync**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:121](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L121)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1820](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1820)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2033,20 +1945,22 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`ownerAddress` | string | - | Owner of the assets specified by assetData. | -`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | +`tokenAddress` | string | - | The address of the ERC-1155 contract hosting the asset(s) to be traded. | +`tokenIds` | `BigNumber`[] | - | The identifiers of the specific assets to be traded. | +`tokenValues` | `BigNumber`[] | - | The amounts of each asset to be traded. | +`callbackData` | string | - | Data to be passed to receiving contracts when a transfer is performed. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[BigNumber, BigNumber]>`* +**Returns:** *`Promise`* -Number of assets (or asset baskets) held by owner, and number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. +AssetProxy-compliant asset data describing the set of assets. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`, `BigNumber`]* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:198](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L198)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1908](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1908)* Decode the ABI-encoded return data from a transaction @@ -2056,15 +1970,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[`BigNumber`, `BigNumber`]* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:186](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L186)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1896](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1896)* Decode the ABI-encoded transaction data into its input arguments @@ -2074,15 +1988,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* +▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:171](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L171)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1874](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1874)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2092,8 +2006,10 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`ownerAddress` | string | Owner of the assets specified by assetData. | -`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | +`tokenAddress` | string | The address of the ERC-1155 contract hosting the asset(s) to be traded. | +`tokenIds` | `BigNumber`[] | The identifiers of the specific assets to be traded. | +`tokenValues` | `BigNumber`[] | The amounts of each asset to be traded. | +`callbackData` | string | Data to be passed to receiving contracts when a transfer is performed. | **Returns:** *string* @@ -2101,19 +2017,19 @@ The ABI encoded transaction data as a string ___ -### getBatchAssetProxyAllowances +### encodeERC20AssetData -#### ▪ **getBatchAssetProxyAllowances**: *object* +#### ▪ **encodeERC20AssetData**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:380](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L380)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1919](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1919)* -Calls getAssetProxyAllowance() for each element of assetData. +Encode ERC-20 asset data into the format described in the AssetProxy contract specification. #### callAsync -▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`tokenAddress`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:390](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L390)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1928](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1928)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2123,20 +2039,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`ownerAddress` | string | - | Owner of the assets specified by assetData. | -`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`tokenAddress` | string | - | The address of the ERC-20 contract hosting the asset to be traded. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -An array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. +AssetProxy-compliant data describing the asset. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:467](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L467)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1996](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1996)* Decode the ABI-encoded return data from a transaction @@ -2146,7 +2061,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`[]* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. @@ -2154,7 +2069,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:455](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L455)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1984](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1984)* Decode the ABI-encoded transaction data into its input arguments @@ -2170,9 +2085,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* +▸ **getABIEncodedTransactionData**(`tokenAddress`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L440)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1971](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1971)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2182,8 +2097,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`ownerAddress` | string | Owner of the assets specified by assetData. | -`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`tokenAddress` | string | The address of the ERC-20 contract hosting the asset to be traded. | **Returns:** *string* @@ -2191,19 +2105,19 @@ The ABI encoded transaction data as a string ___ -### getBatchBalances +### encodeERC721AssetData -#### ▪ **getBatchBalances**: *object* +#### ▪ **encodeERC721AssetData**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2014](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2014)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2007](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2007)* -Calls getBalance() for each element of assetData. +Encode ERC-721 asset data into the format described in the AssetProxy specification. #### callAsync -▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`tokenAddress`: string, `tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2024](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2024)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2017](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2017)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2213,20 +2127,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`ownerAddress` | string | - | Owner of the assets specified by assetData. | -`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`tokenAddress` | string | - | The address of the ERC-721 contract hosting the asset to be traded. | +`tokenId` | `BigNumber` | - | The identifier of the specific asset to be traded. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Array of asset balances from getBalance(), with each element corresponding to the same-indexed element in the assetData input. +AssetProxy-compliant asset data describing the asset. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2101](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2101)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2091](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2091)* Decode the ABI-encoded return data from a transaction @@ -2236,7 +2150,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`[]* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. @@ -2244,7 +2158,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2089](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2089)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2079](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2079)* Decode the ABI-encoded transaction data into its input arguments @@ -2260,9 +2174,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* +▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenId`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2074](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2074)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2064](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2064)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2272,8 +2186,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`ownerAddress` | string | Owner of the assets specified by assetData. | -`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`tokenAddress` | string | The address of the ERC-721 contract hosting the asset to be traded. | +`tokenId` | `BigNumber` | The identifier of the specific asset to be traded. | **Returns:** *string* @@ -2281,19 +2195,19 @@ The ABI encoded transaction data as a string ___ -### getBatchBalancesAndAssetProxyAllowances +### encodeMultiAssetData -#### ▪ **getBatchBalancesAndAssetProxyAllowances**: *object* +#### ▪ **encodeMultiAssetData**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2371](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2371)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2102)* -Calls getBatchBalances() and getBatchAllowances() for each element of assetData. +Encode data for multiple assets, per the AssetProxy contract specification. #### callAsync -▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber[], BigNumber[]]>`* +▸ **callAsync**(`amounts`: `BigNumber`[], `nestedAssetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2381](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2381)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2112)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2303,20 +2217,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`ownerAddress` | string | - | Owner of the assets specified by assetData. | -`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`amounts` | `BigNumber`[] | - | The amounts of each asset to be traded. | +`nestedAssetData` | string[] | - | AssetProxy-compliant data describing each asset to be traded. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[BigNumber[], BigNumber[]]>`* +**Returns:** *`Promise`* -An array of asset balances from getBalance(), and an array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. +AssetProxy-compliant data describing the set of assets. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`[], `BigNumber`[]]* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2458](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2458)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2186)* Decode the ABI-encoded return data from a transaction @@ -2326,15 +2240,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[`BigNumber`[], `BigNumber`[]]* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string[]]* +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`[]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2446](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2446)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2174](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2174)* Decode the ABI-encoded transaction data into its input arguments @@ -2344,15 +2258,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string[]]* +**Returns:** *`BigNumber`[]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* +▸ **getABIEncodedTransactionData**(`amounts`: `BigNumber`[], `nestedAssetData`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2431](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2431)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2159)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2362,8 +2276,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`ownerAddress` | string | Owner of the assets specified by assetData. | -`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`amounts` | `BigNumber`[] | The amounts of each asset to be traded. | +`nestedAssetData` | string[] | AssetProxy-compliant data describing each asset to be traded. | **Returns:** *string* @@ -2371,19 +2285,19 @@ The ABI encoded transaction data as a string ___ -### getERC721TokenOwner +### getAssetProxyAllowance -#### ▪ **getERC721TokenOwner**: *object* +#### ▪ **getAssetProxyAllowance**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1841](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1841)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2197)* -Calls `asset.ownerOf(tokenId)`, but returns a null owner instead of reverting on an unowned asset. +Returns the number of asset(s) (described by assetData) that the corresponding AssetProxy contract is authorized to spend. When the asset data contains multiple assets (eg for Multi-Asset), the return value indicates how many complete "baskets" of those assets may be spent by all of the corresponding AssetProxy contracts. #### callAsync -▸ **callAsync**(`tokenAddress`: string, `tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1850](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1850)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2207](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2207)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2393,20 +2307,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`tokenAddress` | string | - | Address of ERC721 asset. | -`tokenId` | `BigNumber` | - | The identifier for the specific NFT. | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Owner of tokenId or null address if unowned. +Number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1926](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1926)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2289)* Decode the ABI-encoded return data from a transaction @@ -2416,7 +2330,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. @@ -2424,7 +2338,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1914](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1914)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2277](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2277)* Decode the ABI-encoded transaction data into its input arguments @@ -2440,9 +2354,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1899)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2262](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2262)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2452,8 +2366,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`tokenAddress` | string | Address of ERC721 asset. | -`tokenId` | `BigNumber` | The identifier for the specific NFT. | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | **Returns:** *string* @@ -2461,19 +2375,19 @@ The ABI encoded transaction data as a string ___ -### getEthBalances +### getBalance -#### ▪ **getEthBalances**: *object* +#### ▪ **getBalance**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1417)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2300](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2300)* -Batch fetches ETH balances +Returns the owner's balance of the assets(s) specified in assetData. When the asset data contains multiple assets (eg in ERC1155 or Multi-Asset), the return value indicates how many complete "baskets" of those assets are owned by owner. #### callAsync -▸ **callAsync**(`addresses`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1425)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2310](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2310)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2483,19 +2397,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`addresses` | string[] | - | Array of addresses. | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Array of ETH balances. +Number of assets (or asset baskets) held by owner. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1491](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1491)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2392)* Decode the ABI-encoded return data from a transaction @@ -2505,15 +2420,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`[]* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string[]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1479](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1479)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2380](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2380)* Decode the ABI-encoded transaction data into its input arguments @@ -2523,15 +2438,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string[]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`addresses`: string[]): *string* +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1468](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1468)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2365](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2365)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2541,7 +2456,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`addresses` | string[] | Array of addresses. | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | **Returns:** *string* @@ -2549,19 +2465,19 @@ The ABI encoded transaction data as a string ___ -### getOrderRelevantState +### getBalanceAndAssetProxyAllowance -#### ▪ **getOrderRelevantState**: *object* +#### ▪ **getBalanceAndAssetProxyAllowance**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1159](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1159)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2403](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2403)* -Fetches all order-relevant information needed to validate if the supplied order is fillable. +Calls getBalance() and getAllowance() for assetData. #### callAsync -▸ **callAsync**(`order`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[object, BigNumber, boolean]>`* +▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber, BigNumber]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1170)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2413](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2413)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2571,20 +2487,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`order` | object | - | The order structure. | -`signature` | string | - | Signature provided by maker that proves the order's authenticity. `0x01` can always be provided if the signature does not need to be validated. | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[object, BigNumber, boolean]>`* +**Returns:** *`Promise<[BigNumber, BigNumber]>`* -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. +Number of assets (or asset baskets) held by owner, and number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[object, `BigNumber`, boolean]* +▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`, `BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1319](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1319)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2495](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2495)* Decode the ABI-encoded return data from a transaction @@ -2594,15 +2510,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[object, `BigNumber`, boolean]* +**Returns:** *[`BigNumber`, `BigNumber`]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1269](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1269)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2483)* Decode the ABI-encoded transaction data into its input arguments @@ -2612,15 +2528,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[object, string]* +**Returns:** *[string, string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`order`: object, `signature`: string): *string* +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1239](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1239)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2468)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2630,8 +2546,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`order` | object | The order structure. | -`signature` | string | Signature provided by maker that proves the order's authenticity. `0x01` can always be provided if the signature does not need to be validated. | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | **Returns:** *string* @@ -2639,19 +2555,19 @@ The ABI encoded transaction data as a string ___ -### getOrderRelevantStates +### getBatchAssetProxyAllowances -#### ▪ **getOrderRelevantStates**: *object* +#### ▪ **getBatchAssetProxyAllowances**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:816](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L816)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2506](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2506)* -Fetches all order-relevant information needed to validate if the supplied orders are fillable. +Calls getAssetProxyAllowance() for each element of assetData. #### callAsync -▸ **callAsync**(`orders`: `Array`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[Array, BigNumber[], boolean[]]>`* +▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:827](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L827)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2516](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2516)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2661,20 +2577,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order structures. | -`signatures` | string[] | - | 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. | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise<[Array, BigNumber[], boolean[]]>`* +**Returns:** *`Promise`* -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. +An array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *[`Array`, `BigNumber`[], boolean[]]* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:986](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L986)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2598](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2598)* Decode the ABI-encoded return data from a transaction @@ -2684,15 +2600,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *[`Array`, `BigNumber`[], boolean[]]* +**Returns:** *`BigNumber`[]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, string[]]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:936](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L936)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2586](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2586)* Decode the ABI-encoded transaction data into its input arguments @@ -2702,15 +2618,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[`Array`, string[]]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `signatures`: string[]): *string* +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:905](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L905)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2571](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2571)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2720,8 +2636,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order structures. | -`signatures` | string[] | 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. | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | **Returns:** *string* @@ -2729,19 +2645,19 @@ The ABI encoded transaction data as a string ___ -### getTransferableAssetAmount +### getBatchBalances -#### ▪ **getTransferableAssetAmount**: *object* +#### ▪ **getBatchBalances**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:282](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L282)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2609](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2609)* -Gets the amount of an asset transferable by the owner. +Calls getBalance() for each element of assetData. #### callAsync -▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L292)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2619](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2619)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -2751,20 +2667,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`ownerAddress` | string | - | Address of the owner of the asset. | -`assetData` | string | - | Description of tokens, per the AssetProxy contract specification. | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -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`. +Array of asset balances from getBalance(), with each element corresponding to the same-indexed element in the assetData input. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:369](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L369)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2701](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2701)* Decode the ABI-encoded return data from a transaction @@ -2774,7 +2690,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *`BigNumber`[]* An array representing the output results in order. Keynames of nested structs are preserved. @@ -2782,7 +2698,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:357](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L357)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2689)* Decode the ABI-encoded transaction data into its input arguments @@ -2798,9 +2714,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:342](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L342)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2674)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -2810,272 +2726,206 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`ownerAddress` | string | Address of the owner of the asset. | -`assetData` | string | Description of tokens, per the AssetProxy contract specification. | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | **Returns:** *string* The ABI encoded transaction data as a string -
+___ -# Class: DummyERC20TokenContract +### getBatchBalancesAndAssetProxyAllowances +#### ▪ **getBatchBalancesAndAssetProxyAllowances**: *object* -## Constructors +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2712](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2712)* +Calls getBatchBalances() and getBatchAllowances() for each element of assetData. +#### callAsync -\+ **new DummyERC20TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[DummyERC20TokenContract](#class-dummyerc20tokencontract)* +▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber[], BigNumber[]]>`* -*Overrides void* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2722](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2722)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2321)* +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *[DummyERC20TokenContract](#class-dummyerc20tokencontract)* +**Returns:** *`Promise<[BigNumber[], BigNumber[]]>`* -## Properties +An array of asset balances from getBalance(), and an array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. -#### abi +#### getABIDecodedReturnData -• **abi**: *[ContractAbi](#contractabi)* +▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`[], `BigNumber`[]]* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2804](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2804)* +Decode the ABI-encoded return data from a transaction -Defined in base-contract/lib/src/index.d.ts:25 +**Parameters:** -___ +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -### address +**Returns:** *[`BigNumber`[], `BigNumber`[]]* -• **address**: *string* +An array representing the output results in order. Keynames of nested structs are preserved. +#### getABIDecodedTransactionData +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string[]]* -Defined in base-contract/lib/src/index.d.ts:26 +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2792](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2792)* -___ +Decode the ABI-encoded transaction data into its input arguments -Args +**Parameters:** -• **constructorArgs**: *any[]* +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | +**Returns:** *[string, string[]]* +An array representing the input arguments in order. Keynames of nested structs are preserved. -Defined in base-contract/lib/src/index.d.ts:28 +#### getABIEncodedTransactionData -___ +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* -### contractName +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2777](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2777)* -• **contractName**: *string* +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | -Defined in base-contract/lib/src/index.d.ts:27 +**Returns:** *string* -## Methods +The ABI encoded transaction data as a string -### evmExecAsync +___ -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +### getEthBalances +#### ▪ **getEthBalances**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2815](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2815)* -Defined in base-contract/lib/src/index.d.ts:38 +Batch fetches ETH balances -**Parameters:** +#### callAsync -Name | Type | ------- | ------ | -`input` | `Buffer` | +▸ **callAsync**(`addresses`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2823](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2823)* -___ +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -### getLogsAsync +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`addresses` | string[] | - | Array of addresses. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* +**Returns:** *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2305](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2305)* +Array of ETH balances. -Gets historical logs without creating a subscription +#### getABIDecodedReturnData -**Type parameters:** +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2894](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2894)* -▪ **ArgsType**: *[DummyERC20TokenEventArgs](#dummyerc20tokeneventargs)* +Decode the ABI-encoded return data from a transaction **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`eventName` | [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents) | The DummyERC20Token contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | +`returnData` | string | the data returned after transaction execution | -**Returns:** *`Promise>>`* +**Returns:** *`BigNumber`[]* -Array of logs that match the parameters +An array representing the output results in order. Keynames of nested structs are preserved. -___ +#### getABIDecodedTransactionData -### subscribe +▸ **getABIDecodedTransactionData**(`callData`: string): *string[]* -▸ **subscribe**<**ArgsType**>(`eventName`: [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2882](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2882)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2263](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2263)* +Decode the ABI-encoded transaction data into its input arguments -Subscribe to an event type emitted by the DummyERC20Token contract. +**Parameters:** -**Type parameters:** +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | -▪ **ArgsType**: *[DummyERC20TokenEventArgs](#dummyerc20tokeneventargs)* +**Returns:** *string[]* -**Parameters:** +An array representing the input arguments in order. Keynames of nested structs are preserved. -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents) | - | The DummyERC20Token contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | +#### getABIEncodedTransactionData -**Returns:** *string* +▸ **getABIEncodedTransactionData**(`addresses`: string[]): *string* -Subscription token used later to unsubscribe - -___ - -### unsubscribe - -▸ **unsubscribe**(`subscriptionToken`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2288](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2288)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2871](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2871)* -Cancel a subscription +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | - -**Returns:** *void* - -___ - -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2294](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2294)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1934](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1934)* - -**Returns:** *[ContractAbi](#contractabi)* - -The contract ABI - -___ - -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_name`: string, `_symbol`: string, `_decimals`: `BigNumber`, `_totalSupply`: `BigNumber`): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1884](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1884)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_name` | string | -`_symbol` | string | -`_decimals` | `BigNumber` | -`_totalSupply` | `BigNumber` | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_name`: string, `_symbol`: string, `_decimals`: `BigNumber`, `_totalSupply`: `BigNumber`): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1845](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1845)* - -**Parameters:** +`addresses` | string[] | Array of addresses. | -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_name` | string | -`_symbol` | string | -`_decimals` | `BigNumber` | -`_totalSupply` | `BigNumber` | +**Returns:** *string* -**Returns:** *`Promise`* +The ABI encoded transaction data as a string ___ -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals +### getOrderRelevantState -### MAX_MINT_AMOUNT +#### ▪ **getOrderRelevantState**: *object* -#### ▪ **MAX_MINT_AMOUNT**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2905](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2905)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1771](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1771)* +Fetches all order-relevant information needed to validate if the supplied order is fillable. #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`order`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[object, BigNumber, boolean]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1777](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1777)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2916](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2916)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -3083,18 +2933,22 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | The order structure. | +`signature` | string | - | Signature provided by maker that proves the order's authenticity. `0x01` can always be provided if the signature does not need to be validated. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[object, BigNumber, boolean]>`* + +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. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *[object, `BigNumber`, boolean]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1836](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1836)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3078](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3078)* Decode the ABI-encoded return data from a transaction @@ -3104,15 +2958,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *[object, `BigNumber`, boolean]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1824](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1824)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3024](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3024)* Decode the ABI-encoded transaction data into its input arguments @@ -3122,37 +2976,46 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[object, string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`order`: object, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1814](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1814)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2992](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2992)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The order structure. | +`signature` | string | Signature provided by maker that proves the order's authenticity. `0x01` can always be provided if the signature does not need to be validated. | + **Returns:** *string* The ABI encoded transaction data as a string ___ -### allowance +### getOrderRelevantStates -#### ▪ **allowance**: *object* +#### ▪ **getOrderRelevantStates**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1312](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1312)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3095](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3095)* + +Fetches all order-relevant information needed to validate if the supplied orders are fillable. #### callAsync -▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`orders`: `Array`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[Array, BigNumber[], boolean[]]>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1321)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3106](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3106)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -3162,20 +3025,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_owner` | string | - | The address of the account owning tokens | -`_spender` | string | - | The address of the account able to transfer the tokens | +`orders` | `Array` | - | Array of order structures. | +`signatures` | string[] | - | 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. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise<[Array, BigNumber[], boolean[]]>`* -Amount of remaining tokens allowed to spent +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. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *[`Array`, `BigNumber`[], boolean[]]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1397](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1397)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3278](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3278)* Decode the ABI-encoded return data from a transaction @@ -3185,15 +3048,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *[`Array`, `BigNumber`[], boolean[]]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, string[]]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1385)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3224)* Decode the ABI-encoded transaction data into its input arguments @@ -3203,15 +3066,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[`Array`, string[]]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: string): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `signatures`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1370)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3191](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3191)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -3221,8 +3084,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_owner` | string | The address of the account owning tokens | -`_spender` | string | The address of the account able to transfer the tokens | +`orders` | `Array` | Array of order structures. | +`signatures` | string[] | 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. | **Returns:** *string* @@ -3230,19 +3093,19 @@ The ABI encoded transaction data as a string ___ -### approve +### getSimulatedOrderTransferResults -#### ▪ **approve**: *object* +#### ▪ **getSimulatedOrderTransferResults**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L133)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3303](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3303)* -`msg.sender` approves `_spender` to spend `_value` tokens +Simulates all of the transfers within an order and returns the index of the first failed transfer. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:179](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L179)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3368](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3368)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -3251,8 +3114,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`_spender` | string | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`order` | object | The order to simulate transfers for. | +`takerAddress` | string | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | The amount of takerAsset that the taker wished to fill. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -3263,9 +3127,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:253](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L253)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3509](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3509)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -3275,20 +3139,21 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_spender` | string | - | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | - | The amount of wei to be approved for transfer | +`order` | object | - | The order to simulate transfers for. | +`takerAddress` | string | - | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | - | The amount of takerAsset that the taker wished to fill. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Always true if the call has enough gas to complete execution +The index of the first failed transfer (or 4 if all transfers are successful). #### estimateGasAsync -▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:209](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L209)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3421](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3421)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -3296,8 +3161,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`_spender` | string | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`order` | object | The order to simulate transfers for. | +`takerAddress` | string | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | The amount of takerAsset that the taker wished to fill. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -3306,9 +3172,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* +▸ **getABIDecodedReturnData**(`returnData`: string): *number* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L329)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3663](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3663)* Decode the ABI-encoded return data from a transaction @@ -3318,15 +3184,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *boolean* +**Returns:** *number* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:317](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L317)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3617)* Decode the ABI-encoded transaction data into its input arguments @@ -3336,15 +3202,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *object* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_spender`: string, `_value`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:302](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L302)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3583](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3583)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -3354,8 +3220,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_spender` | string | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`order` | object | The order to simulate transfers for. | +`takerAddress` | string | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | The amount of takerAsset that the taker wished to fill. | **Returns:** *string* @@ -3363,9 +3230,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L142)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3314](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3314)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -3374,8 +3241,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_spender` | string | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`order` | object | The order to simulate transfers for. | +`takerAddress` | string | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | The amount of takerAsset that the taker wished to fill. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -3384,35 +3252,60 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:236](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L236)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3464](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3464)* **Parameters:** Name | Type | ------ | ------ | -`_spender` | string | -`_value` | `BigNumber` | +`order` | object | +`takerAddress` | string | +`takerAssetFillAmount` | `BigNumber` | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### balanceOf +### getSimulatedOrdersTransferResults -#### ▪ **balanceOf**: *object* +#### ▪ **getSimulatedOrdersTransferResults**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:721](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L721)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3676)* -Query the balance of owner +Simulates all of the transfers for each given order and returns the indices of each first failed transfer. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3744](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3744)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of amounts of takerAsset that will be filled for each order. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:729](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L729)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3889](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3889)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -3422,19 +3315,42 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_owner` | string | - | The address from which the balance will be retrieved | +`orders` | `Array` | - | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | - | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | - | Array of amounts of takerAsset that will be filled for each order. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Balance of owner +The indices of the first failed transfer (or 4 if all transfers are successful) for each order. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3799](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3799)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of amounts of takerAsset that will be filled for each order. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *number[]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:795](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L795)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4048](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4048)* Decode the ABI-encoded return data from a transaction @@ -3444,15 +3360,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *number[]* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:783](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L783)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4000](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4000)* Decode the ABI-encoded transaction data into its input arguments @@ -3462,15 +3378,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *`Array`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_owner`: string): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:772](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L772)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3965](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3965)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -3480,44 +3396,91 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_owner` | string | The address from which the balance will be retrieved | +`orders` | `Array` | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of amounts of takerAsset that will be filled for each order. | **Returns:** *string* The ABI encoded transaction data as a string -___ +#### sendTransactionAsync -### decimals +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* -#### ▪ **decimals**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3688](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3688)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:645](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L645)* +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. -#### callAsync +**Parameters:** -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of amounts of takerAsset that will be filled for each order. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:651](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L651)* +**Returns:** *`Promise`* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3843](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3843)* **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAddresses` | string[] | +`takerAssetFillAmounts` | `BigNumber`[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### getTransferableAssetAmount + +#### ▪ **getTransferableAssetAmount**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4061](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4061)* + +Gets the amount of an asset transferable by the owner. + +#### callAsync + +▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4071](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4071)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Address of the owner of the asset. | +`assetData` | string | - | Description of tokens, per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | **Returns:** *`Promise`* +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`. + #### getABIDecodedReturnData ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:710](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L710)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4153](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4153)* Decode the ABI-encoded return data from a transaction @@ -3533,9 +3496,9 @@ An array representing the output results in order. Keynames of nested structs a #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:698](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L698)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4141)* Decode the ABI-encoded transaction data into its input arguments @@ -3545,295 +3508,314 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:688](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L688)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4126](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4126)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### mint - -#### ▪ **mint**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:952](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L952)* - -Mints new tokens for sender - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:988](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L988)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`_value` | `BigNumber` | Amount of tokens to mint | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful +`ownerAddress` | string | Address of the owner of the asset. | +`assetData` | string | Description of tokens, per the AssetProxy contract specification. | -#### callAsync +**Returns:** *string* -▸ **callAsync**(`_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +The ABI encoded transaction data as a string -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1048](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1048)* +
-Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +# Class: ERC20TokenContract -**Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_value` | `BigNumber` | - | Amount of tokens to mint | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +## Constructors -**Returns:** *`Promise`* -#### estimateGasAsync -▸ **estimateGasAsync**(`_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +\+ **new ERC20TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ERC20TokenContract](#class-erc20tokencontract)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1015](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1015)* +*Overrides void* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1282](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1282)* **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`_value` | `BigNumber` | Amount of tokens to mint | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ERC20TokenContract.deployedBytecode | -#### getABIDecodedReturnData +**Returns:** *[ERC20TokenContract](#class-erc20tokencontract)* -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +## Properties -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1110](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1110)* +#### abi -Decode the ABI-encoded return data from a transaction +• **abi**: *[ContractAbi](#contractabi)* -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | -**Returns:** *void* +Defined in base-contract/lib/src/index.d.ts:27 -An array representing the output results in order. Keynames of nested structs are preserved. +___ -#### getABIDecodedTransactionData +### address -▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* +• **address**: *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1098](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1098)* -Decode the ABI-encoded transaction data into its input arguments -**Parameters:** +Defined in base-contract/lib/src/index.d.ts:28 -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +___ -**Returns:** *[`BigNumber`]* +Args -An array representing the input arguments in order. Keynames of nested structs are preserved. +• **constructorArgs**: *any[]* -#### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_value`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1087](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1087)* +Defined in base-contract/lib/src/index.d.ts:30 -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +___ -**Parameters:** +### contractName -Name | Type | Description | ------- | ------ | ------ | -`_value` | `BigNumber` | Amount of tokens to mint | +• **contractName**: *string* -**Returns:** *string* -The ABI encoded transaction data as a string -#### sendTransactionAsync +Defined in base-contract/lib/src/index.d.ts:29 -▸ **sendTransactionAsync**(`_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:960](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L960)* +### `Static` deployedBytecode -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a723158205713efa92f66e67a8d01b80af8500df66bd6e9862dcf791e587181109d8ab0c464736f6c634300050b0032" -**Parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L51)* -Name | Type | Description | ------- | ------ | ------ | -`_value` | `BigNumber` | Amount of tokens to mint | -`txData?` | `Partial` \| undefined | Additional data for transaction | +## Methods -**Returns:** *`Promise`* +### evmExecAsync -The hash of the transaction +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* -#### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1034](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1034)* +Defined in base-contract/lib/src/index.d.ts:42 **Parameters:** Name | Type | ------ | ------ | -`_value` | `BigNumber` | -`txData?` | `Partial` \| undefined | +`input` | `Buffer` | **Returns:** *`Promise`* ___ -### name - -#### ▪ **name**: *object* +### getLogsAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L57)* +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC20TokenEvents](#enumeration-erc20tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* -#### callAsync +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1266](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1266)* -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +Gets historical logs without creating a subscription -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L63)* +**Type parameters:** -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +▪ **ArgsType**: *[ERC20TokenEventArgs](#erc20tokeneventargs)* **Parameters:** -Name | Type | Default | +Name | Type | Description | ------ | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`eventName` | [ERC20TokenEvents](#enumeration-erc20tokenevents) | The ERC20Token contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | -**Returns:** *`Promise`* +**Returns:** *`Promise>>`* -#### getABIDecodedReturnData +Array of logs that match the parameters -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L122)* +### subscribe -Decode the ABI-encoded return data from a transaction +▸ **subscribe**<**ArgsType**>(`eventName`: [ERC20TokenEvents](#enumeration-erc20tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1224)* + +Subscribe to an event type emitted by the ERC20Token contract. + +**Type parameters:** + +▪ **ArgsType**: *[ERC20TokenEventArgs](#erc20tokeneventargs)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ERC20TokenEvents](#enumeration-erc20tokenevents) | - | The ERC20Token contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | **Returns:** *string* -An array representing the output results in order. Keynames of nested structs are preserved. +Subscription token used later to unsubscribe -#### getABIDecodedTransactionData +___ -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +### unsubscribe -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:110](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L110)* +▸ **unsubscribe**(`subscriptionToken`: string): *void* -Decode the ABI-encoded transaction data into its input arguments +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1249](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1249)* + +Cancel a subscription **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | **Returns:** *void* -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData +___ -▸ **getABIEncodedTransactionData**(): *string* +### unsubscribeAll -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:100](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L100)* +▸ **unsubscribeAll**(): *void* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1255](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1255)* -**Returns:** *string* +Cancels all existing subscriptions -The ABI encoded transaction data as a string +**Returns:** *void* ___ -### owner - -#### ▪ **owner**: *object* +### `Static` ABI -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:803](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L803)* +▸ **ABI**(): *[ContractAbi](#contractabi)* -#### callAsync +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1035](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1035)* -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +**Returns:** *[ContractAbi](#contractabi)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:809](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L809)* +The contract ABI -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +___ -**Parameters:** +### `Static` deployAsync -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:993](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L993)* -#### getABIDecodedReturnData +**Parameters:** -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:968](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L968)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### allowance + +#### ▪ **allowance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:869](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L869)* + +#### callAsync + +▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:878](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L878)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | The address of the account owning tokens | +`_spender` | string | - | The address of the account able to transfer the tokens | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:868](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L868)* +Amount of remaining tokens allowed to spent + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:959](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L959)* Decode the ABI-encoded return data from a transaction @@ -3843,15 +3825,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:856](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L856)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:947](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L947)* Decode the ABI-encoded transaction data into its input arguments @@ -3861,39 +3843,46 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:846](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L846)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:932](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L932)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | The address of the account owning tokens | +`_spender` | string | The address of the account able to transfer the tokens | + **Returns:** *string* The ABI encoded transaction data as a string ___ -### setBalance +### approve -#### ▪ **setBalance**: *object* +#### ▪ **approve**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1408](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1408)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L56)* -Sets the balance of target address +`msg.sender` approves `_spender` to spend `_value` tokens #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_target`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1454](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1454)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:101](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L101)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -3902,8 +3891,8 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`_target` | string | Address or which balance will be updated | -`_value` | `BigNumber` | New balance of target address | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -3914,9 +3903,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_target`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1527](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1527)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:175](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L175)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -3926,18 +3915,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_target` | string | - | Address or which balance will be updated | -`_value` | `BigNumber` | - | New balance of target address | +`_spender` | string | - | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | - | The amount of wei to be approved for transfer | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +Always true if the call has enough gas to complete execution #### estimateGasAsync -▸ **estimateGasAsync**(`_target`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1484](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1484)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L131)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -3945,8 +3936,8 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`_target` | string | Address or which balance will be updated | -`_value` | `BigNumber` | New balance of target address | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -3955,9 +3946,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1603](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1603)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:256](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L256)* Decode the ABI-encoded return data from a transaction @@ -3967,15 +3958,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1591](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1591)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:244](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L244)* Decode the ABI-encoded transaction data into its input arguments @@ -3985,15 +3976,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, `BigNumber`]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_target`: string, `_value`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`_spender`: string, `_value`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1576](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1576)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L229)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -4003,8 +3994,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_target` | string | Address or which balance will be updated | -`_value` | `BigNumber` | New balance of target address | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | **Returns:** *string* @@ -4012,9 +4003,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_target`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1417)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:65](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L65)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -4023,8 +4014,8 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_target` | string | Address or which balance will be updated | -`_value` | `BigNumber` | New balance of target address | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -4033,15 +4024,15 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_target`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1511](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1511)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:158](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L158)* **Parameters:** Name | Type | ------ | ------ | -`_target` | string | +`_spender` | string | `_value` | `BigNumber` | `txData?` | `Partial` \| undefined | @@ -4049,17 +4040,19 @@ Name | Type | ___ -### symbol +### balanceOf -#### ▪ **symbol**: *object* +#### ▪ **balanceOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:584](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L584)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:876](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L876)* +Query the balance of owner #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:882](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L882)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:592](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L592)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -4067,18 +4060,21 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | The address from which the balance will be retrieved | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +Balance of owner #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:941](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L941)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:663](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L663)* Decode the ABI-encoded return data from a transaction @@ -4088,15 +4084,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:929](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L929)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L651)* Decode the ABI-encoded transaction data into its input arguments @@ -4106,20 +4102,26 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`_owner`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:919](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L919)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:640](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L640)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | The address from which the balance will be retrieved | + **Returns:** *string* The ABI encoded transaction data as a string @@ -4130,7 +4132,7 @@ ___ #### ▪ **totalSupply**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:340](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L340)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:267](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L267)* Query total supply of token @@ -4138,7 +4140,7 @@ Query total supply of token ▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L347)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:274](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L274)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -4159,7 +4161,7 @@ Total supply of token ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:406](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L406)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:338](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L338)* Decode the ABI-encoded return data from a transaction @@ -4177,7 +4179,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:394](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L394)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:326](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L326)* Decode the ABI-encoded transaction data into its input arguments @@ -4195,7 +4197,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L384)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:316](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L316)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -4211,7 +4213,7 @@ ___ #### ▪ **transfer**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1121](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1121)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L674)* send `value` token to `to` from `msg.sender` @@ -4219,7 +4221,7 @@ send `value` token to `to` from `msg.sender` ▸ **awaitTransactionSuccessAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1164](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1164)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:716](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L716)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -4242,7 +4244,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1231](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1231)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:783](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L783)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -4265,7 +4267,7 @@ True if transfer was successful ▸ **estimateGasAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1194](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1194)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:746](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L746)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -4285,7 +4287,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1304](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1304)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:861](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L861)* Decode the ABI-encoded return data from a transaction @@ -4303,7 +4305,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1292)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:849](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L849)* Decode the ABI-encoded transaction data into its input arguments @@ -4321,7 +4323,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_to`: string, `_value`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1277](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1277)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:834](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L834)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -4342,7 +4344,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1130)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:683](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L683)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -4363,7 +4365,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1214](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1214)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:766](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L766)* **Parameters:** @@ -4381,15 +4383,15 @@ ___ #### ▪ **transferFrom**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L417)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L349)* -ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. See https://github.com/ethereum/EIPs/issues/717 +send `value` token to `to` from `from` on the condition it is approved by `from` #### awaitTransactionSuccessAsync ▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:468](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L468)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:399](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L399)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -4398,9 +4400,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | Address to transfer from. | -`_to` | string | Address to transfer to. | -`_value` | `BigNumber` | Amount to transfer. | +`_from` | string | The address of the sender | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -4413,7 +4415,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:555](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L555)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:486](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L486)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -4423,21 +4425,21 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_from` | string | - | Address to transfer from. | -`_to` | string | - | Address to transfer to. | -`_value` | `BigNumber` | - | Amount to transfer. | +`_from` | string | - | The address of the sender | +`_to` | string | - | The address of the recipient | +`_value` | `BigNumber` | - | The amount of token to be transferred | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | **Returns:** *`Promise`* -Success of transfer. +True if transfer was successful #### estimateGasAsync ▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:506](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L506)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:437](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L437)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -4445,9 +4447,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`_from` | string | Address to transfer from. | -`_to` | string | Address to transfer to. | -`_value` | `BigNumber` | Amount to transfer. | +`_from` | string | The address of the sender | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -4458,7 +4460,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L637)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:573](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L573)* Decode the ABI-encoded return data from a transaction @@ -4476,7 +4478,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:625](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L625)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L561)* Decode the ABI-encoded transaction data into its input arguments @@ -4494,7 +4496,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_value`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:608](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L608)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:544](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L544)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -4504,9 +4506,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_from` | string | Address to transfer from. | -`_to` | string | Address to transfer to. | -`_value` | `BigNumber` | Amount to transfer. | +`_from` | string | The address of the sender | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | **Returns:** *string* @@ -4516,7 +4518,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L427)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:359](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L359)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -4525,9 +4527,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | Address to transfer from. | -`_to` | string | Address to transfer to. | -`_value` | `BigNumber` | Amount to transfer. | +`_from` | string | The address of the sender | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -4538,7 +4540,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:536](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L536)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:467](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L467)* **Parameters:** @@ -4551,231 +4553,80 @@ Name | Type | **Returns:** *`Promise`* -___ +
-### transferOwnership +# Class: ERC721TokenContract -#### ▪ **transferOwnership**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1611](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1611)* +## Constructors -#### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1645](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1645)* +\+ **new ERC721TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ERC721TokenContract](#class-erc721tokencontract)* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1991](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1991)* **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ERC721TokenContract.deployedBytecode | -**Returns:** *`PromiseWithTransactionHash`* +**Returns:** *[ERC721TokenContract](#class-erc721tokencontract)* -A promise that resolves when the transaction is successful +## Properties -#### callAsync +#### abi -▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +• **abi**: *[ContractAbi](#contractabi)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1700](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1700)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. -**Parameters:** +Defined in base-contract/lib/src/index.d.ts:27 -Name | Type | Default | ------- | ------ | ------ | -`newOwner` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +___ -**Returns:** *`Promise`* +### address -#### estimateGasAsync +• **address**: *string* -▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1671](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1671)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +Defined in base-contract/lib/src/index.d.ts:28 -**Parameters:** +___ -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | +Args -**Returns:** *`Promise`* +• **constructorArgs**: *any[]* -The hash of the transaction -#### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +Defined in base-contract/lib/src/index.d.ts:30 -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1763](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1763)* +___ -Decode the ABI-encoded return data from a transaction +### contractName -**Parameters:** +• **contractName**: *string* -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1751](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1751)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1738](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1738)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`newOwner` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1618](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1618)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1690](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1690)* - -**Parameters:** - -Name | Type | ------- | ------ | -`newOwner` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -
- -# Class: DummyERC721TokenContract - - -## Constructors - - - -\+ **new DummyERC721TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[DummyERC721TokenContract](#class-dummyerc721tokencontract)* - -*Overrides void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2860](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2860)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[DummyERC721TokenContract](#class-dummyerc721tokencontract)* - -## Properties -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:26 - -___ - -Args - -• **constructorArgs**: *any[]* - - - -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:29 ___ -### contractName - -• **contractName**: *string* - +### `Static` deployedBytecode +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158204bc74831490bca4fbe1805808d58d6b0e12f618a37565e744e91d8dc73dc18b164736f6c634300050c0032" -Defined in base-contract/lib/src/index.d.ts:27 +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L61)* ## Methods @@ -4785,7 +4636,7 @@ Defined in base-contract/lib/src/index.d.ts:27 -Defined in base-contract/lib/src/index.d.ts:38 +Defined in base-contract/lib/src/index.d.ts:42 **Parameters:** @@ -4799,21 +4650,21 @@ ___ ### getLogsAsync -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC721TokenEvents](#enumeration-erc721tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2844](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2844)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1975](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1975)* Gets historical logs without creating a subscription **Type parameters:** -▪ **ArgsType**: *[DummyERC721TokenEventArgs](#dummyerc721tokeneventargs)* +▪ **ArgsType**: *[ERC721TokenEventArgs](#erc721tokeneventargs)* **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`eventName` | [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents) | The DummyERC721Token contract event you would like to subscribe to. | +`eventName` | [ERC721TokenEvents](#enumeration-erc721tokenevents) | The ERC721Token contract event you would like to subscribe to. | `blockRange` | `BlockRange` | Block range to get logs from. | `indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | @@ -4825,21 +4676,21 @@ ___ ### subscribe -▸ **subscribe**<**ArgsType**>(`eventName`: [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* +▸ **subscribe**<**ArgsType**>(`eventName`: [ERC721TokenEvents](#enumeration-erc721tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2802](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2802)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1933](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1933)* -Subscribe to an event type emitted by the DummyERC721Token contract. +Subscribe to an event type emitted by the ERC721Token contract. **Type parameters:** -▪ **ArgsType**: *[DummyERC721TokenEventArgs](#dummyerc721tokeneventargs)* +▪ **ArgsType**: *[ERC721TokenEventArgs](#erc721tokeneventargs)* **Parameters:** Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`eventName` | [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents) | - | The DummyERC721Token contract event you would like to subscribe to. | +`eventName` | [ERC721TokenEvents](#enumeration-erc721tokenevents) | - | The ERC721Token contract event you would like to subscribe to. | `indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | `callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | `isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | @@ -4855,7 +4706,7 @@ ___ ▸ **unsubscribe**(`subscriptionToken`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2827](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2827)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1958](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1958)* Cancel a subscription @@ -4873,7 +4724,7 @@ ___ ▸ **unsubscribeAll**(): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2833](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2833)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1964](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1964)* Cancels all existing subscriptions @@ -4885,7 +4736,7 @@ ___ ▸ **ABI**(): *[ContractAbi](#contractabi)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2425)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1664](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1664)* **Returns:** *[ContractAbi](#contractabi)* @@ -4895,9 +4746,9 @@ ___ ### `Static` deployAsync -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_name`: string, `_symbol`: string): *`Promise`* +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2377](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2377)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1622)* **Parameters:** @@ -4908,18 +4759,16 @@ Name | Type | `supportedProvider` | [SupportedProvider](#supportedprovider) | `txDefaults` | `Partial` | `logDecodeDependencies` | object | -`_name` | string | -`_symbol` | string | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ ### `Static` deployFrom0xArtifactAsync -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_name`: string, `_symbol`: string): *`Promise`* +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2342](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2342)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1597](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1597)* **Parameters:** @@ -4929,10 +4778,8 @@ Name | Type | `supportedProvider` | [SupportedProvider](#supportedprovider) | `txDefaults` | `Partial` | `logDecodeDependencies` | object | -`_name` | string | -`_symbol` | string | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ @@ -4942,7 +4789,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -4959,7 +4806,7 @@ Name | Type | #### ▪ **approve**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:230](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L230)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L68)* The zero address indicates there is no approved address. Throws unless `msg.sender` is the current NFT owner, or an authorized @@ -4969,7 +4816,7 @@ operator of the current owner. ▸ **awaitTransactionSuccessAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:276](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L276)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:113](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L113)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -4992,7 +4839,7 @@ A promise that resolves when the transaction is successful ▸ **callAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:349](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L349)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L186)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -5013,7 +4860,7 @@ Name | Type | Default | Description | ▸ **estimateGasAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:306](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L306)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:143](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L143)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -5033,7 +4880,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L425)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:267](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L267)* Decode the ABI-encoded return data from a transaction @@ -5051,7 +4898,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:413](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L413)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:255](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L255)* Decode the ABI-encoded transaction data into its input arguments @@ -5069,7 +4916,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_approved`: string, `_tokenId`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:398](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L398)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:240](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L240)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -5090,7 +4937,7 @@ The ABI encoded transaction data as a string ▸ **sendTransactionAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:239](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L239)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L77)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -5111,7 +4958,7 @@ The hash of the transaction ▸ **validateAndSendTransactionAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:333](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L333)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L170)* **Parameters:** @@ -5129,7 +4976,7 @@ ___ #### ▪ **balanceOf**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1185](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1185)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L279)* NFTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address. @@ -5138,7 +4985,7 @@ function throws for queries about the zero address. ▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1193](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1193)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:287](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L287)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -5160,7 +5007,7 @@ The number of NFTs owned by `_owner`, possibly zero ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1259](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1259)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L358)* Decode the ABI-encoded return data from a transaction @@ -5178,7 +5025,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1247](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1247)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:346](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L346)* Decode the ABI-encoded transaction data into its input arguments @@ -5196,7 +5043,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`_owner`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1236](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1236)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L335)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -5214,43 +5061,19 @@ The ABI encoded transaction data as a string ___ -### burn - -#### ▪ **burn**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1417)* - -Function to burn a token -Reverts if the given token ID doesn't exist or not called by contract owner - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1460](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1460)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** +### getApproved -Name | Type | Description | ------- | ------ | ------ | -`_owner` | string | Owner of token with given token ID | -`_tokenId` | `BigNumber` | ID of the token to be burned by the msg.sender | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +#### ▪ **getApproved**: *object* -**Returns:** *`PromiseWithTransactionHash`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:369](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L369)* -A promise that resolves when the transaction is successful +Throws if `_tokenId` is not a valid NFT. #### callAsync -▸ **callAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1530](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1530)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:377](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L377)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -5260,38 +5083,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_owner` | string | - | Owner of token with given token ID | -`_tokenId` | `BigNumber` | - | ID of the token to be burned by the msg.sender | +`_tokenId` | `BigNumber` | - | The NFT to find the approved address for | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1490](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1490)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_owner` | string | Owner of token with given token ID | -`_tokenId` | `BigNumber` | ID of the token to be burned by the msg.sender | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +**Returns:** *`Promise`* -The hash of the transaction +The approved address for this NFT, or the zero address if there is none #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1603](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1603)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L448)* Decode the ABI-encoded return data from a transaction @@ -5301,15 +5105,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1591](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1591)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L436)* Decode the ABI-encoded transaction data into its input arguments @@ -5319,15 +5123,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, `BigNumber`]* +**Returns:** *`BigNumber`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_owner`: string, `_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1576](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1576)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:425](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L425)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -5337,65 +5141,25 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_owner` | string | Owner of token with given token ID | -`_tokenId` | `BigNumber` | ID of the token to be burned by the msg.sender | +`_tokenId` | `BigNumber` | The NFT to find the approved address for | **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1426)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_owner` | string | Owner of token with given token ID | -`_tokenId` | `BigNumber` | ID of the token to be burned by the msg.sender | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1514](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1514)* - -**Parameters:** - -Name | Type | ------- | ------ | -`_owner` | string | -`_tokenId` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - ___ -### getApproved - -#### ▪ **getApproved**: *object* +### isApprovedForAll -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:143](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L143)* +#### ▪ **isApprovedForAll**: *object* -Throws if `_tokenId` is not a valid NFT. +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:456](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L456)* #### callAsync -▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_owner`: string, `_operator`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:151](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L151)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:465](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L465)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -5405,19 +5169,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_tokenId` | `BigNumber` | - | The NFT to find the approved address for | +`_owner` | string | - | The address that owns the NFTs | +`_operator` | string | - | The address that acts on behalf of the owner | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -The approved address for this NFT, or the zero address if there is none +True if `_operator` is an approved operator for `_owner`, false otherwise #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L217)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:546](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L546)* Decode the ABI-encoded return data from a transaction @@ -5427,15 +5192,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:205](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L205)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:534](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L534)* Decode the ABI-encoded transaction data into its input arguments @@ -5445,15 +5210,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`BigNumber`* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`_owner`: string, `_operator`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:194](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L194)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:519](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L519)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -5463,7 +5228,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_tokenId` | `BigNumber` | The NFT to find the approved address for | +`_owner` | string | The address that owns the NFTs | +`_operator` | string | The address that acts on behalf of the owner | **Returns:** *string* @@ -5471,17 +5237,20 @@ The ABI encoded transaction data as a string ___ -### isApprovedForAll +### ownerOf -#### ▪ **isApprovedForAll**: *object* +#### ▪ **ownerOf**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2088](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2088)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:558](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L558)* + +NFTs assigned to zero address are considered invalid, and queries +about them do throw. #### callAsync -▸ **callAsync**(`_owner`: string, `_operator`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2097](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2097)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:566](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L566)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -5491,20 +5260,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_owner` | string | - | The address that owns the NFTs | -`_operator` | string | - | The address that acts on behalf of the owner | +`_tokenId` | `BigNumber` | - | The identifier for an NFT | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -True if `_operator` is an approved operator for `_owner`, false otherwise +The address of the owner of the NFT #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2173](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2173)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:637](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L637)* Decode the ABI-encoded return data from a transaction @@ -5514,15 +5282,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *boolean* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2161](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2161)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:625](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L625)* Decode the ABI-encoded transaction data into its input arguments @@ -5532,15 +5300,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *`BigNumber`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_owner`: string, `_operator`: string): *string* +▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2146](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2146)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:614](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L614)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -5550,8 +5318,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_owner` | string | The address that owns the NFTs | -`_operator` | string | The address that acts on behalf of the owner | +`_tokenId` | `BigNumber` | The identifier for an NFT | **Returns:** *string* @@ -5559,20 +5326,20 @@ The ABI encoded transaction data as a string ___ -### mint +### safeTransferFrom1 -#### ▪ **mint**: *object* +#### ▪ **safeTransferFrom1**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:670](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L670)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:649](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L649)* -Function to mint a new token -Reverts if the given token ID already exists +This works identically to the other function with an extra data parameter, +except this function just sets data to "". #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:713](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L713)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:699](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L699)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -5581,8 +5348,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`_to` | string | Address of the beneficiary that will own the minted token | -`_tokenId` | `BigNumber` | ID of the token to be minted by the msg.sender | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -5593,9 +5361,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:783](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L783)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:785](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L785)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -5605,8 +5373,9 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_to` | string | - | Address of the beneficiary that will own the minted token | -`_tokenId` | `BigNumber` | - | ID of the token to be minted by the msg.sender | +`_from` | string | - | The current owner of the NFT | +`_to` | string | - | The new owner | +`_tokenId` | `BigNumber` | - | The NFT to transfer | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | @@ -5614,9 +5383,9 @@ Name | Type | Default | Description | #### estimateGasAsync -▸ **estimateGasAsync**(`_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:743](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L743)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:737](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L737)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -5624,8 +5393,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`_to` | string | Address of the beneficiary that will own the minted token | -`_tokenId` | `BigNumber` | ID of the token to be minted by the msg.sender | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -5636,7 +5406,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:856](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L856)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:872](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L872)* Decode the ABI-encoded return data from a transaction @@ -5652,9 +5422,9 @@ An array representing the output results in order. Keynames of nested structs a #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:844](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L844)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:860](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L860)* Decode the ABI-encoded transaction data into its input arguments @@ -5664,15 +5434,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, `BigNumber`]* +**Returns:** *[string, string, `BigNumber`]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_to`: string, `_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:829](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L829)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:843](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L843)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -5682,8 +5452,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_to` | string | Address of the beneficiary that will own the minted token | -`_tokenId` | `BigNumber` | ID of the token to be minted by the msg.sender | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | **Returns:** *string* @@ -5691,9 +5462,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:679](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L679)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:659](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L659)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -5702,8 +5473,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_to` | string | Address of the beneficiary that will own the minted token | -`_tokenId` | `BigNumber` | ID of the token to be minted by the msg.sender | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -5712,14 +5484,15 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:767](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L767)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:767](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L767)* **Parameters:** Name | Type | ------ | ------ | +`_from` | string | `_to` | string | `_tokenId` | `BigNumber` | `txData?` | `Partial` \| undefined | @@ -5728,17 +5501,50 @@ Name | Type | ___ -### name +### safeTransferFrom2 -#### ▪ **name**: *object* +#### ▪ **safeTransferFrom2**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:889](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L889)* + +Throws unless `msg.sender` is the current owner, an authorized +operator, or the approved address for this NFT. Throws if `_from` is +not the current owner. Throws if `_to` is the zero address. Throws if +`_tokenId` is not a valid NFT. When transfer is complete, this function +checks if `_to` is a smart contract (code size > 0). If so, it calls +`onERC721Received` on `_to` and throws if the return value is not +`bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L67)* +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:944](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L944)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L73)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1045](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1045)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -5746,18 +5552,44 @@ since they don't modify state. **Parameters:** -Name | Type | Default | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | The current owner of the NFT | +`_to` | string | - | The new owner | +`_tokenId` | `BigNumber` | - | The NFT to transfer | +`_data` | string | - | Additional data with no specified format, sent in call to `_to` | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:986](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L986)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | ------ | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L132)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1136)* Decode the ABI-encoded return data from a transaction @@ -5767,15 +5599,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`, string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:120](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L120)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1124](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1124)* Decode the ABI-encoded transaction data into its input arguments @@ -5785,117 +5617,113 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[string, string, `BigNumber`, string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:110](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L110)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1107)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### owner - -#### ▪ **owner**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1267](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1267)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1273)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - **Parameters:** -Name | Type | Default | +Name | Type | Description | ------ | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | -**Returns:** *`Promise`* +**Returns:** *string* -#### getABIDecodedReturnData +The ABI encoded transaction data as a string -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +#### sendTransactionAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1332](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1332)* +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* -Decode the ABI-encoded return data from a transaction +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:900](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L900)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` \| undefined | Additional data for transaction | -An array representing the output results in order. Keynames of nested structs are preserved. +**Returns:** *`Promise`* -#### getABIDecodedTransactionData +The hash of the transaction -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +#### validateAndSendTransactionAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1320](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1320)* +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* -Decode the ABI-encoded transaction data into its input arguments +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1019](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1019)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_tokenId` | `BigNumber` | +`_data` | string | +`txData?` | `Partial` \| undefined | -**Returns:** *void* +**Returns:** *`Promise`* -An array representing the input arguments in order. Keynames of nested structs are preserved. +___ -#### getABIEncodedTransactionData +### setApprovalForAll -▸ **getABIEncodedTransactionData**(): *string* +#### ▪ **setApprovalForAll**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1310](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1310)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1148)* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +Emits the ApprovalForAll event. The contract MUST allow +multiple operators per owner. -**Returns:** *string* +#### awaitTransactionSuccessAsync -The ABI encoded transaction data as a string +▸ **awaitTransactionSuccessAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1193](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1193)* -### ownerOf +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. -#### ▪ **ownerOf**: *object* +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1099](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1099)* +**Returns:** *`PromiseWithTransactionHash`* -NFTs assigned to zero address are considered invalid, and queries -about them do throw. +A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_operator`: string, `_approved`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1107)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1270](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1270)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -5905,153 +5733,38 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_tokenId` | `BigNumber` | - | The identifier for an NFT | +`_operator` | string | - | Address to add to the set of authorized operators | +`_approved` | boolean | - | True if the operator is approved, false to revoke approval | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* - -The address of the owner of the NFT +**Returns:** *`Promise`* -#### getABIDecodedReturnData +#### estimateGasAsync -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **estimateGasAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1173](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1173)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1227](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1227)* -Decode the ABI-encoded return data from a transaction +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *string* +**Returns:** *`Promise`* -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1161](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1161)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *`BigNumber`* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1150](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1150)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_tokenId` | `BigNumber` | The identifier for an NFT | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### safeTransferFrom1 - -#### ▪ **safeTransferFrom1**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:868](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L868)* - -This works identically to the other function with an extra data parameter, -except this function just sets data to "". - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:919](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L919)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1005](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1005)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_from` | string | - | The current owner of the NFT | -`_to` | string | - | The new owner | -`_tokenId` | `BigNumber` | - | The NFT to transfer | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:957](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L957)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction +The hash of the transaction #### getABIDecodedReturnData ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1087](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1087)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1351](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1351)* Decode the ABI-encoded return data from a transaction @@ -6067,9 +5780,9 @@ An array representing the output results in order. Keynames of nested structs a #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1075](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1075)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1339](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1339)* Decode the ABI-encoded transaction data into its input arguments @@ -6079,15 +5792,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string, `BigNumber`]* +**Returns:** *[string, boolean]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`_operator`: string, `_approved`: boolean): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1058](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1058)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1324](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1324)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -6097,9 +5810,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | **Returns:** *string* @@ -6107,9 +5819,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:878](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L878)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1157](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1157)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -6118,9 +5830,8 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -6129,42 +5840,38 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:987](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L987)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1254](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1254)* **Parameters:** Name | Type | ------ | ------ | -`_from` | string | -`_to` | string | -`_tokenId` | `BigNumber` | +`_operator` | string | +`_approved` | boolean | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### safeTransferFrom2 +### transferFrom -#### ▪ **safeTransferFrom2**: *object* +#### ▪ **transferFrom**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1831](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1831)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1365](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1365)* Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if -`_tokenId` is not a valid NFT. When transfer is complete, this function -checks if `_to` is a smart contract (code size > 0). If so, it calls -`onERC721Received` on `_to` and throws if the return value is not -`bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. +`_tokenId` is not a valid NFT. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1893](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1893)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1415](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1415)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -6176,7 +5883,6 @@ Name | Type | Description | `_from` | string | The current owner of the NFT | `_to` | string | The new owner | `_tokenId` | `BigNumber` | The NFT to transfer | -`_data` | string | Additional data with no specified format, sent in call to `_to` | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -6187,9 +5893,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1994](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1994)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1501](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1501)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -6201,8 +5907,7 @@ Name | Type | Default | Description | ------ | ------ | ------ | ------ | `_from` | string | - | The current owner of the NFT | `_to` | string | - | The new owner | -`_tokenId` | `BigNumber` | - | The NFT to transfer | -`_data` | string | - | Additional data with no specified format, sent in call to `_to` | +`_tokenId` | `BigNumber` | - | The NFT to transfer | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | @@ -6210,9 +5915,9 @@ Name | Type | Default | Description | #### estimateGasAsync -▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1935](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1935)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1453](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1453)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -6223,7 +5928,6 @@ Name | Type | Description | `_from` | string | The current owner of the NFT | `_to` | string | The new owner | `_tokenId` | `BigNumber` | The NFT to transfer | -`_data` | string | Additional data with no specified format, sent in call to `_to` | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -6234,7 +5938,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2080](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2080)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1588](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1588)* Decode the ABI-encoded return data from a transaction @@ -6250,9 +5954,9 @@ An array representing the output results in order. Keynames of nested structs a #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`, string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2068](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2068)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1576](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1576)* Decode the ABI-encoded transaction data into its input arguments @@ -6262,15 +5966,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string, `BigNumber`, string]* +**Returns:** *[string, string, `BigNumber`]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string): *string* +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2051](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2051)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1559](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1559)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -6283,7 +5987,6 @@ Name | Type | Description | `_from` | string | The current owner of the NFT | `_to` | string | The new owner | `_tokenId` | `BigNumber` | The NFT to transfer | -`_data` | string | Additional data with no specified format, sent in call to `_to` | **Returns:** *string* @@ -6291,9 +5994,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1842](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1842)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1375)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -6305,7 +6008,6 @@ Name | Type | Description | `_from` | string | The current owner of the NFT | `_to` | string | The new owner | `_tokenId` | `BigNumber` | The NFT to transfer | -`_data` | string | Additional data with no specified format, sent in call to `_to` | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -6314,9 +6016,9 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1968](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1968)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1483)* **Parameters:** @@ -6325,193 +6027,272 @@ Name | Type | `_from` | string | `_to` | string | `_tokenId` | `BigNumber` | -`_data` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* -___ +
-### setApprovalForAll +# Class: ExchangeContract -#### ▪ **setApprovalForAll**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1615](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1615)* +## Constructors -Emits the ApprovalForAll event. The contract MUST allow -multiple operators per owner. -#### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +\+ **new ExchangeContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ExchangeContract](#class-exchangecontract)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1661](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1661)* +*Overrides void* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13414](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13414)* **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`_operator` | string | Address to add to the set of authorized operators | -`_approved` | boolean | True if the operator is approved, false to revoke approval | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ExchangeContract.deployedBytecode | -**Returns:** *`PromiseWithTransactionHash`* +**Returns:** *[ExchangeContract](#class-exchangecontract)* -A promise that resolves when the transaction is successful +## Properties -#### callAsync +#### abi -▸ **callAsync**(`_operator`: string, `_approved`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +• **abi**: *[ContractAbi](#contractabi)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1738](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1738)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. -**Parameters:** +Defined in base-contract/lib/src/index.d.ts:27 -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_operator` | string | - | Address to add to the set of authorized operators | -`_approved` | boolean | - | True if the operator is approved, false to revoke approval | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +___ -**Returns:** *`Promise`* +### address -#### estimateGasAsync +• **address**: *string* -▸ **estimateGasAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1695](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1695)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +Defined in base-contract/lib/src/index.d.ts:28 -**Parameters:** +___ -Name | Type | Description | ------- | ------ | ------ | -`_operator` | string | Address to add to the set of authorized operators | -`_approved` | boolean | True if the operator is approved, false to revoke approval | -`txData?` | `Partial` \| undefined | Additional data for transaction | +Args -**Returns:** *`Promise`* +• **constructorArgs**: *any[]* -The hash of the transaction -#### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +Defined in base-contract/lib/src/index.d.ts:30 -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1814](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1814)* +___ -Decode the ABI-encoded return data from a transaction +### contractName -**Parameters:** +• **contractName**: *string* -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | -**Returns:** *void* -An array representing the output results in order. Keynames of nested structs are preserved. +Defined in base-contract/lib/src/index.d.ts:29 -#### getABIDecodedTransactionData +___ -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* +### `Static` deployedBytecode -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1802](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1802)* +▪ **deployedBytecode**: *string* = "0x6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e64565b61076a565b60405161030391906154c4565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154cf565b61034161033c366004615108565b610785565b60405161030391906156a0565b34801561035a57600080fd5b50610321610369366004614e64565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e64565b6107d9565b6103a161039c366004614f82565b6107ee565b005b6103b66103b1366004614d60565b610812565b60405161030391906159c2565b6103a16103d1366004614e64565b610939565b6103a16103e4366004614e64565b6109ac565b3480156103f557600080fd5b50610409610404366004614eed565b610ab9565b604051610303919061535b565b610429610424366004614c40565b610b07565b604051610303919061594b565b610429610444366004614c40565b610b3f565b6103a1610457366004614b2a565b610b5d565b6103b661046a366004614d60565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614ea0565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e7c565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f236600461500c565b610e2b565b60405161030391906159d0565b6103b6610512366004614d60565b610e49565b34801561052357600080fd5b506102f6610532366004615108565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614cdc565b610ebe565b60405161030391906154b1565b34801561057857600080fd5b506103a1610587366004614e64565b610fe9565b61055f61059a366004614cdc565b611031565b6103b66105ad3660046150a8565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f82565b61111d565b6040516103039190615a12565b3480156105eb57600080fd5b506102f66105fa366004614fb5565b611201565b6103b661060d366004614d60565b611226565b34801561061e57600080fd5b506103a161062d366004614b65565b61125a565b6104f761064036600461500c565b611306565b61055f610653366004614cdc565b611324565b34801561066457600080fd5b506103a1610673366004614adb565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614adb565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b604051610303919061562b565b6103a16106fd366004614c0d565b611657565b6103b66107103660046150a8565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614adb565b6116d0565b61075d610758366004614db3565b611748565b6040516103039190615433565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154cf565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154c4565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d60035482604051611024929190615543565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615914565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff90911690849061537c565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f09565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615658565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055608087015190516060913091611920919061530e565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a58565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe919061530e565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f25565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153a3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b9050600060018885858560405160008152602001604052604051612371949392919061560d565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b90506000600188604051602001612468919061532a565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051612371949392919061560d565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d619392919061589e565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156b3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c919061530e565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615658565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a43929190615551565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b92909190339061571b565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615846565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d9190615833565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e00000000000000000000000000000000000000000000000000000000906130249088908790602401615551565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc919061530e565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615767565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a83565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a4392919061537c565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a36565b606063488219a660e01b848484604051602401611d619392919061580b565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d619392919061556a565b606063f598518460e01b8383604051602401612a439291906158fd565b606063a26dac0960e01b848484604051602401611d61939291906155f7565b606063dec4aedf60e01b8383604051602401612a439291906154d8565b606063e53c76c860e01b848484604051602401611d6193929190615867565b6060632800659560e01b848484604051602401611d61939291906158ab565b9052565b6060631b8388f760e01b8585858560405160240161221e94939291906154fc565b606063fdb6ca8d60e01b8383604051602401612a43929190615595565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a43929190615543565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a4392919061537c565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb390889088906024016156f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b919061530e565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d61939291906155f7565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153a3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff168484604051614391919061530e565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153d4565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155b2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b14565b615aed565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b14565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b14565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b14565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615aed565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615aed565b91505061493b83836146d3565b815261494a83602084016146d3565b602082015261495c83604084016146d3565b604082015261496e83606084016146d3565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff808211156149d057600080fd5b6149dc8683870161488b565b838501526101609250828501359150808211156149f857600080fd5b614a048683870161488b565b83850152610180925082850135915080821115614a2057600080fd5b614a2c8683870161488b565b838501526101a0925082850135915080821115614a4857600080fd5b50614a558582860161488b565b82840152505092915050565b600060a08284031215614a72578081fd5b614a7c60a0615aed565b90508135815260208201356020820152604082013560408201526060820135614aa481615b88565b6060820152608082013567ffffffffffffffff811115614ac357600080fd5b614acf8482850161488b565b60808301525092915050565b600060208284031215614aec578081fd5b61093283836146d3565b60008060408385031215614b08578081fd5b614b1284846146d3565b9150614b2184602085016146d3565b90509250929050565b60008060408385031215614b3c578182fd5b614b4684846146d3565b915060208301358015158114614b5a578182fd5b809150509250929050565b60008060008060808587031215614b7a578182fd5b843567ffffffffffffffff80821115614b91578384fd5b614b9d8883890161476d565b95506020870135915080821115614bb2578384fd5b614bbe888389016146f7565b94506040870135915080821115614bd3578384fd5b614bdf888389016146f7565b93506060870135915080821115614bf4578283fd5b50614c018782880161482d565b91505092959194509250565b600060208284031215614c1e578081fd5b813567ffffffffffffffff811115614c34578182fd5b610b37848285016147d2565b60008060008060808587031215614c55578182fd5b843567ffffffffffffffff80821115614c6c578384fd5b614c78888389016147d2565b95506020870135915080821115614c8d578384fd5b614c99888389016147d2565b94506040870135915080821115614cae578384fd5b614cba8883890161476d565b93506060870135915080821115614ccf578283fd5b50614c018782880161476d565b600080600060608486031215614cf0578081fd5b833567ffffffffffffffff80821115614d07578283fd5b614d13878388016147d2565b94506020860135915080821115614d28578283fd5b614d348783880161482d565b93506040860135915080821115614d49578283fd5b50614d568682870161476d565b9150509250925092565b600080600060608486031215614d74578081fd5b833567ffffffffffffffff80821115614d8b578283fd5b614d97878388016147d2565b9450602086013593506040860135915080821115614d49578283fd5b60008060408385031215614dc5578182fd5b823567ffffffffffffffff80821115614ddc578384fd5b81850186601f820112614ded578485fd5b80359250614dfd61471584615b14565b83815260208082019190838101885b87811015614e3557614e238c848435890101614a61565b85529382019390820190600101614e0c565b50919750880135945050505080821115614e4d578283fd5b50614e5a8582860161476d565b9150509250929050565b600060208284031215614e75578081fd5b5035919050565b60008060408385031215614e8e578182fd5b823591506020830135614b5a81615b88565b600080600060608486031215614eb4578081fd5b833592506020840135614ec681615b88565b9150604084013567ffffffffffffffff811115614ee1578182fd5b614d568682870161488b565b600060208284031215614efe578081fd5b813561093281615baa565b600060208284031215614f1a578081fd5b815161093281615baa565b600060a0828403128015614f37578182fd5b8015614f41578182fd5b50614f4c60a0615aed565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614f93578081fd5b813567ffffffffffffffff811115614fa9578182fd5b610b3784828501614912565b60008060408385031215614fc7578182fd5b823567ffffffffffffffff80821115614fde578384fd5b614fea86838701614912565b93506020850135915080821115614fff578283fd5b50614e5a8582860161488b565b60008060008060808587031215615021578182fd5b843567ffffffffffffffff80821115615038578384fd5b61504488838901614912565b95506020870135915080821115615059578384fd5b61506588838901614912565b9450604087013591508082111561507a578384fd5b6150868883890161488b565b9350606087013591508082111561509b578283fd5b50614c018782880161488b565b6000806000606084860312156150bc578081fd5b833567ffffffffffffffff808211156150d3578283fd5b6150df87838801614912565b94506020860135935060408601359150808211156150fb578283fd5b50614d568682870161488b565b6000806040838503121561511a578182fd5b823567ffffffffffffffff80821115615131578384fd5b614fea86838701614a61565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845260208401935060208301825b828110156151935761517d8683516151e7565b60a095909501946020919091019060010161516a565b5093949350505050565b600081518084526151b5816020860160208601615b34565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c061522784845161513d565b6020830151615239602086018261513d565b50604083015161524c604086018261513d565b50606083015161525f606086018261513d565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152b88387018261519d565b915050610160915081840151858203838701526152d5828261519d565b9250505061018080840151858303828701526152f1838261519d565b9150506101a091508184015185820383870152613de2828261519d565b60008251615320818460208701615b34565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff8616825260806020830152615403608083018661519d565b8281036040840152615415818661519d565b8381036060850152615427818661519d565b98975050505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156154a4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261549285835161519d565b94509285019290850190600101615458565b5092979650505050505050565b6000602082526109326020830184615157565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff8516602083015260806040830152615531608083018561519d565b82810360608401526138a9818561519d565b918252602082015260400190565b600083825260406020830152610b37604083018461519d565b600084825260606020830152615583606083018561519d565b8281036040840152613de2818561519d565b828152604081016155a583615b7e565b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a083018461519d565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600060208252610932602083018461519d565b6000608082526156c6608083018761519d565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b600060408252615709604083018561519d565b8281036020840152610de6818561519d565b60006060825261572e606083018661519d565b8281036020840152615740818661519d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600061016080835261577b8184018f61519d565b838103602085015261578d818f61519d565b91505082810360408401526157a2818d61519d565b83810360608501526157b4818d61519d565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061581685615b60565b84825283602083015260606040830152610de6606083018461519d565b6020810161584083615b6a565b91905290565b6060810161585385615b6a565b938152602081019290925260409091015290565b6060810161587485615b74565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161585385615b74565b606081016008851061585357fe5b60006158c486615b7e565b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de2608083018461519d565b6040810161590a84615b60565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261596760a0840182615157565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159a28183615157565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c182846151e7565b6000610180820190506159e48284516151e7565b60208301516159f660a08401826151e7565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a496040830185615217565b90508260208301529392505050565b600060608252615a6b6060830186615217565b8460208401528281036040840152613de2818561519d565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615add60e084018261519d565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b0c57600080fd5b604052919050565b600067ffffffffffffffff821115615b2a578081fd5b5060209081020190565b60005b83811015615b4f578181015183820152602001615b37565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b6007811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a090209056fea365627a7a723158206fc97c5a1d6fde6b2ada9eb4429966e52d7e2da39180893c04bf55c840b346a16c6578706572696d656e74616cf564736f6c634300050c0040" -Decode the ABI-encoded transaction data into its input arguments +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:110](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L110)* -**Parameters:** +## Methods -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +### evmExecAsync -**Returns:** *[string, boolean]* +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* -An array representing the input arguments in order. Keynames of nested structs are preserved. -#### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_operator`: string, `_approved`: boolean): *string* +Defined in base-contract/lib/src/index.d.ts:42 -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1787](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1787)* +**Parameters:** -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ExchangeEvents](#enumeration-exchangeevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13398)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[ExchangeEventArgs](#exchangeeventargs)* **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`_operator` | string | Address to add to the set of authorized operators | -`_approved` | boolean | True if the operator is approved, false to revoke approval | +`eventName` | [ExchangeEvents](#enumeration-exchangeevents) | The Exchange contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [ExchangeEvents](#enumeration-exchangeevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13356](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13356)* + +Subscribe to an event type emitted by the Exchange contract. + +**Type parameters:** + +▪ **ArgsType**: *[ExchangeEventArgs](#exchangeeventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ExchangeEvents](#enumeration-exchangeevents) | - | The Exchange contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | **Returns:** *string* -The ABI encoded transaction data as a string +Subscription token used later to unsubscribe -#### sendTransactionAsync +___ -▸ **sendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* +### unsubscribe -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1624](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1624)* +▸ **unsubscribe**(`subscriptionToken`: string): *void* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13381)* + +Cancel a subscription **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`_operator` | string | Address to add to the set of authorized operators | -`_approved` | boolean | True if the operator is approved, false to revoke approval | -`txData?` | `Partial` \| undefined | Additional data for transaction | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | -**Returns:** *`Promise`* +**Returns:** *void* -The hash of the transaction +___ -#### validateAndSendTransactionAsync +### unsubscribeAll -▸ **validateAndSendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13387](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13387)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1722](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1722)* +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10467](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10467)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `chainId`: `BigNumber`): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10420)* **Parameters:** Name | Type | ------ | ------ | -`_operator` | string | -`_approved` | boolean | -`txData?` | `Partial` \| undefined | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`chainId` | `BigNumber` | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ -### symbol +### `Static` deployFrom0xArtifactAsync -#### ▪ **symbol**: *object* +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `chainId`: `BigNumber`): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10394)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`chainId` | `BigNumber` | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1340](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1340)* +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### EIP1271_MAGIC_VALUE + +#### ▪ **EIP1271_MAGIC_VALUE**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L112)* #### callAsync ▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1346)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L118)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -6530,7 +6311,7 @@ Name | Type | Default | ▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1405](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1405)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:182](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L182)* Decode the ABI-encoded return data from a transaction @@ -6548,7 +6329,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1393](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1393)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L170)* Decode the ABI-encoded transaction data into its input arguments @@ -6566,7 +6347,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1383)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:160](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L160)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -6578,46 +6359,17 @@ The ABI encoded transaction data as a string ___ -### transferFrom - -#### ▪ **transferFrom**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:439](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L439)* - -Throws unless `msg.sender` is the current owner, an authorized -operator, or the approved address for this NFT. Throws if `_from` is -not the current owner. Throws if `_to` is the zero address. Throws if -`_tokenId` is not a valid NFT. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:490](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L490)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +### EIP712_EXCHANGE_DOMAIN_HASH -**Returns:** *`PromiseWithTransactionHash`* +#### ▪ **EIP712_EXCHANGE_DOMAIN_HASH**: *object* -A promise that resolves when the transaction is successful +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:190](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L190)* #### callAsync -▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:576](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L576)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L196)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -6625,42 +6377,18 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_from` | string | - | The current owner of the NFT | -`_to` | string | - | The new owner | -`_tokenId` | `BigNumber` | - | The NFT to transfer | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:528](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L528)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -The hash of the transaction +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:658](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L658)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:260](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L260)* Decode the ABI-encoded return data from a transaction @@ -6670,15 +6398,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:646](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L646)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:248](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L248)* Decode the ABI-encoded transaction data into its input arguments @@ -6688,84 +6416,125 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string, `BigNumber`]* +**Returns:** *void* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:629](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L629)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L238)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | - **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync +___ -▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +### allowedValidators -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:449](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L449)* +#### ▪ **allowedValidators**: *object* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:268](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L268)* -**Parameters:** +#### callAsync -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`txData?` | `Partial` \| undefined | Additional data for transaction | +▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:274](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L274)* -The hash of the transaction +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -#### validateAndSendTransactionAsync +**Parameters:** -▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`index_1` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:558](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L558)* +**Returns:** *`Promise`* -**Parameters:** +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L353)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L341)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:326](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L326)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** Name | Type | ------ | ------ | -`_from` | string | -`_to` | string | -`_tokenId` | `BigNumber` | -`txData?` | `Partial` \| undefined | +`index_0` | string | +`index_1` | string | -**Returns:** *`Promise`* +**Returns:** *string* + +The ABI encoded transaction data as a string ___ -### transferOwnership +### batchCancelOrders -#### ▪ **transferOwnership**: *object* +#### ▪ **batchCancelOrders**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2181)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:364](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L364)* + +Executes multiple calls of cancelOrder. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2215](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2215)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L420)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -6774,7 +6543,7 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`newOwner` | string | - | +`orders` | `Array` | Array of order specifications. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -6785,9 +6554,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`orders`: `Array`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2270](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2270)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:531](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L531)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -6795,19 +6564,19 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`newOwner` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | **Returns:** *`Promise`* #### estimateGasAsync -▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2241](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2241)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:462](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L462)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -6815,7 +6584,7 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`newOwner` | string | - | +`orders` | `Array` | Array of order specifications. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -6826,7 +6595,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2333](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2333)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:682](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L682)* Decode the ABI-encoded return data from a transaction @@ -6842,9 +6611,9 @@ An array representing the output results in order. Keynames of nested structs a #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2321)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:630](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L630)* Decode the ABI-encoded transaction data into its input arguments @@ -6854,15 +6623,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *[`Array`]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2308](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2308)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:599](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L599)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -6870,9 +6639,9 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`newOwner` | string | +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | **Returns:** *string* @@ -6880,9 +6649,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2188](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2188)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:372](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L372)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -6891,7 +6660,7 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`newOwner` | string | - | +`orders` | `Array` | Array of order specifications. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -6900,190 +6669,204 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2260](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2260)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:502](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L502)* **Parameters:** Name | Type | ------ | ------ | -`newOwner` | string | +`orders` | `Array` | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* -
+___ -# Class: DutchAuctionContract +### batchExecuteTransactions +#### ▪ **batchExecuteTransactions**: *object* -## Constructors +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:695](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L695)* +Executes a batch of Exchange method calls in the context of signer(s). +#### awaitTransactionSuccessAsync -\+ **new DutchAuctionContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[DutchAuctionContract](#class-dutchauctioncontract)* +▸ **awaitTransactionSuccessAsync**(`transactions`: `Array`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Overrides void* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:748](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L748)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:1248](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L1248)* +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. **Parameters:** -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[DutchAuctionContract](#class-dutchauctioncontract)* +Name | Type | Description | +------ | ------ | ------ | +`transactions` | `Array` | Array of 0x transaction structures. | +`signatures` | string[] | Array of proofs that transactions have been signed by signer(s). | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -## Properties +**Returns:** *`PromiseWithTransactionHash`* -#### abi +A promise that resolves when the transaction is successful -• **abi**: *[ContractAbi](#contractabi)* +#### callAsync +▸ **callAsync**(`transactions`: `Array`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:846](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L846)* -Defined in base-contract/lib/src/index.d.ts:25 +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -___ +**Parameters:** -### address +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`transactions` | `Array` | - | Array of 0x transaction structures. | +`signatures` | string[] | - | Array of proofs that transactions have been signed by signer(s). | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -• **address**: *string* +**Returns:** *`Promise`* +Array containing ABI encoded return data for each of the underlying Exchange function calls. +#### estimateGasAsync -Defined in base-contract/lib/src/index.d.ts:26 +▸ **estimateGasAsync**(`transactions`: `Array`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:785](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L785)* -Args +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. -• **constructorArgs**: *any[]* +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`transactions` | `Array` | Array of 0x transaction structures. | +`signatures` | string[] | Array of proofs that transactions have been signed by signer(s). | +`txData?` | `Partial` \| undefined | Additional data for transaction | +**Returns:** *`Promise`* -Defined in base-contract/lib/src/index.d.ts:28 +The hash of the transaction -___ +#### getABIDecodedReturnData -### contractName +▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* -• **contractName**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:963](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L963)* +Decode the ABI-encoded return data from a transaction +**Parameters:** -Defined in base-contract/lib/src/index.d.ts:27 +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -## Methods +**Returns:** *string[]* -### evmExecAsync +An array representing the output results in order. Keynames of nested structs are preserved. -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +#### getABIDecodedTransactionData +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:933](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L933)* -Defined in base-contract/lib/src/index.d.ts:38 +Decode the ABI-encoded transaction data into its input arguments **Parameters:** -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:956](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L956)* +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | -**Returns:** *[ContractAbi](#contractabi)* +**Returns:** *`Array`* -The contract ABI +An array representing the input arguments in order. Keynames of nested structs are preserved. -___ +#### getABIEncodedTransactionData -### `Static` deployAsync +▸ **getABIEncodedTransactionData**(`transactions`: `Array`, `signatures`: string[]): *string* -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:909](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L909)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:909](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L909)* +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | - -**Returns:** *`Promise`* +Name | Type | Description | +------ | ------ | ------ | +`transactions` | `Array` | Array of 0x transaction structures. | +`signatures` | string[] | Array of proofs that transactions have been signed by signer(s). | -___ +**Returns:** *string* -### `Static` deployFrom0xArtifactAsync +The ABI encoded transaction data as a string -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* +#### sendTransactionAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:876](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L876)* +▸ **sendTransactionAsync**(`transactions`: `Array`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -**Parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:705](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L705)* -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. -**Returns:** *`Promise`* +**Parameters:** -___ +Name | Type | Description | +------ | ------ | ------ | +`transactions` | `Array` | Array of 0x transaction structures. | +`signatures` | string[] | Array of proofs that transactions have been signed by signer(s). | +`txData?` | `Partial` \| undefined | Additional data for transaction | -### `Static` strictArgumentEncodingCheck +**Returns:** *`Promise`* -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* +The hash of the transaction +#### validateAndSendTransactionAsync +▸ **validateAndSendTransactionAsync**(`transactions`: `Array`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -Defined in base-contract/lib/src/index.d.ts:37 +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:818](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L818)* **Parameters:** Name | Type | ------ | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | +`transactions` | `Array` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | -**Returns:** *string* +**Returns:** *`Promise`* -## Object literals +___ -### getAuctionDetails +### batchFillOrKillOrders -#### ▪ **getAuctionDetails**: *object* +#### ▪ **batchFillOrKillOrders**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L34)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:976](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L976)* -Calculates the Auction Details for the given order +Executes multiple calls of fillOrKillOrder. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`order`: object, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L88)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1042](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1042)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -7092,7 +6875,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`order` | object | The sell order | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -7103,9 +6888,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`order`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L192)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1180)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -7115,19 +6900,21 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`order` | object | - | The sell order | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | - | Proofs that orders have been created by makers. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise>`* -AuctionDetails +Array of amounts filled and fees paid by makers and taker. #### estimateGasAsync -▸ **estimateGasAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:127](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L127)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1096](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1096)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -7135,7 +6922,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`order` | object | The sell order | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -7144,9 +6933,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *object* +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L334)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1354](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1354)* Decode the ABI-encoded return data from a transaction @@ -7156,15 +6945,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *object* +**Returns:** *`Array`* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *object* +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L292)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1306](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1306)* Decode the ABI-encoded transaction data into its input arguments @@ -7174,15 +6963,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *object* +**Returns:** *`Array`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`order`: object): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:266](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L266)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1271](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1271)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -7192,7 +6981,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`order` | object | The sell order | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | **Returns:** *string* @@ -7200,9 +6991,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L42)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:987](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L987)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -7211,7 +7002,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`order` | object | The sell order | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -7220,48 +7013,36 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:164](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L164)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1140](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1140)* **Parameters:** Name | Type | ------ | ------ | -`order` | object | +`orders` | `Array` | +`takerAssetFillAmounts` | `BigNumber`[] | +`signatures` | string[] | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### matchOrders +### batchFillOrders -#### ▪ **matchOrders**: *object* +#### ▪ **batchFillOrders**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1383](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1383)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:377](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L377)* - -Matches the buy and sell orders at an amount given the following: the current block time, the auction -start time and the auction begin amount. The sell order is a an order at the lowest amount -at the end of the auction. Excess from the match is transferred to the seller. -Over time the price moves from beginAmount to endAmount given the current block.timestamp. -sellOrder.expiryTimeSeconds is the end time of the auction. -sellOrder.takerAssetAmount is the end amount of the auction (lowest possible amount). -sellOrder.makerAssetData is the ABI encoded Asset Proxy data with the following data appended -buyOrder.makerAssetData is the buyers bid on the auction, must meet the amount for the current block timestamp -(uint256 beginTimeSeconds, uint256 beginAmount). -This function reverts in the following scenarios: -* Auction has not started (auctionDetails.currentTimeSeconds < auctionDetails.beginTimeSeconds) -* Auction has expired (auctionDetails.endTimeSeconds < auctionDetails.currentTimeSeconds) -* Amount is invalid: Buy order amount is too low (buyOrder.makerAssetAmount < auctionDetails.currentAmount) -* Amount is invalid: Invalid begin amount (auctionDetails.beginAmount > auctionDetails.endAmount) -* Any failure in the 0x Match Orders +Executes multiple calls of fillOrder. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:459](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L459)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1449)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -7270,10 +7051,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`buyOrder` | object | The Buyer's order. This order is for the current expected price of the auction. | -`sellOrder` | object | The Seller's order. This order is for the lowest amount (at the end of the auction). | -`buySignature` | string | Proof that order was created by the buyer. | -`sellSignature` | string | Proof that order was created by the seller. | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -7284,9 +7064,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L637)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1587](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1587)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -7296,22 +7076,21 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`buyOrder` | object | - | The Buyer's order. This order is for the current expected price of the auction. | -`sellOrder` | object | - | The Seller's order. This order is for the lowest amount (at the end of the auction). | -`buySignature` | string | - | Proof that order was created by the buyer. | -`sellSignature` | string | - | Proof that order was created by the seller. | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | - | Proofs that orders have been created by makers. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise>`* -matchedFillResults amounts filled and fees paid by maker and taker of matched orders. +Array of amounts filled and fees paid by makers and taker. #### estimateGasAsync -▸ **estimateGasAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:527](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L527)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1503](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1503)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -7319,10 +7098,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`buyOrder` | object | The Buyer's order. This order is for the current expected price of the auction. | -`sellOrder` | object | The Seller's order. This order is for the lowest amount (at the end of the auction). | -`buySignature` | string | Proof that order was created by the buyer. | -`sellSignature` | string | Proof that order was created by the seller. | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -7331,9 +7109,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *object* +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:836](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L836)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1761](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1761)* Decode the ABI-encoded return data from a transaction @@ -7343,15 +7121,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *object* +**Returns:** *`Array`* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *object* +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:794](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L794)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1713](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1713)* Decode the ABI-encoded transaction data into its input arguments @@ -7361,15 +7139,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *object* +**Returns:** *`Array`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:748](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L748)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1678](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1678)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -7379,10 +7157,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`buyOrder` | object | The Buyer's order. This order is for the current expected price of the auction. | -`sellOrder` | object | The Seller's order. This order is for the lowest amount (at the end of the auction). | -`buySignature` | string | Proof that order was created by the buyer. | -`sellSignature` | string | Proof that order was created by the seller. | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | **Returns:** *string* @@ -7390,9 +7167,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:390](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L390)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1394)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -7401,10 +7178,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`buyOrder` | object | The Buyer's order. This order is for the current expected price of the auction. | -`sellOrder` | object | The Seller's order. This order is for the lowest amount (at the end of the auction). | -`buySignature` | string | Proof that order was created by the buyer. | -`sellSignature` | string | Proof that order was created by the seller. | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -7413,275 +7189,399 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:582](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L582)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1547](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1547)* **Parameters:** Name | Type | ------ | ------ | -`buyOrder` | object | -`sellOrder` | object | -`buySignature` | string | -`sellSignature` | string | +`orders` | `Array` | +`takerAssetFillAmounts` | `BigNumber`[] | +`signatures` | string[] | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* -
+___ -# Class: ERC1155ProxyContract +### batchFillOrdersNoThrow +#### ▪ **batchFillOrdersNoThrow**: *object* -## Constructors +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1790](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1790)* +Executes multiple calls of fillOrder. If any fill reverts, the error is caught and ignored. +#### awaitTransactionSuccessAsync -\+ **new ERC1155ProxyContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ERC1155ProxyContract](#class-erc1155proxycontract)* +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Overrides void* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1856](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1856)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1744](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1744)* +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. **Parameters:** -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[ERC1155ProxyContract](#class-erc1155proxycontract)* +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -## Properties +**Returns:** *`PromiseWithTransactionHash`* -#### abi +A promise that resolves when the transaction is successful -• **abi**: *[ContractAbi](#contractabi)* +#### callAsync +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1994](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1994)* -Defined in base-contract/lib/src/index.d.ts:25 +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -___ +**Parameters:** -### address +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | - | Proofs that orders have been created by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -• **address**: *string* +**Returns:** *`Promise>`* +Array of amounts filled and fees paid by makers and taker. +#### estimateGasAsync -Defined in base-contract/lib/src/index.d.ts:26 +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1910](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1910)* -Args +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. -• **constructorArgs**: *any[]* +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | +**Returns:** *`Promise`* -Defined in base-contract/lib/src/index.d.ts:28 +The hash of the transaction -___ +#### getABIDecodedReturnData -### contractName +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* -• **contractName**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2168)* +Decode the ABI-encoded return data from a transaction +**Parameters:** -Defined in base-contract/lib/src/index.d.ts:27 +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -## Methods +**Returns:** *`Array`* -### evmExecAsync +An array representing the output results in order. Keynames of nested structs are preserved. -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +#### getABIDecodedTransactionData +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2120)* -Defined in base-contract/lib/src/index.d.ts:38 +Decode the ABI-encoded transaction data into its input arguments **Parameters:** -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | -### getLogsAsync +**Returns:** *`Array`* -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC1155ProxyEvents](#enumeration-erc1155proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* +An array representing the input arguments in order. Keynames of nested structs are preserved. -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1728](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1728)* +#### getABIEncodedTransactionData -Gets historical logs without creating a subscription +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* -**Type parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2085](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2085)* -▪ **ArgsType**: *[ERC1155ProxyEventArgs](#erc1155proxyeventargs)* +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`eventName` | [ERC1155ProxyEvents](#enumeration-erc1155proxyevents) | The ERC1155Proxy contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | - -**Returns:** *`Promise>>`* - -Array of logs that match the parameters - -___ +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | -### subscribe +**Returns:** *string* -▸ **subscribe**<**ArgsType**>(`eventName`: [ERC1155ProxyEvents](#enumeration-erc1155proxyevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* +The ABI encoded transaction data as a string -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1686](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1686)* +#### sendTransactionAsync -Subscribe to an event type emitted by the ERC1155Proxy contract. +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -**Type parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1801](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1801)* -▪ **ArgsType**: *[ERC1155ProxyEventArgs](#erc1155proxyeventargs)* +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [ERC1155ProxyEvents](#enumeration-erc1155proxyevents) | - | The ERC1155Proxy contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | - -**Returns:** *string* - -Subscription token used later to unsubscribe +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -___ +**Returns:** *`Promise`* -### unsubscribe +The hash of the transaction -▸ **unsubscribe**(`subscriptionToken`: string): *void* +#### validateAndSendTransactionAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1711](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1711)* +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -Cancel a subscription +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1954](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1954)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAssetFillAmounts` | `BigNumber`[] | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | -**Returns:** *void* +**Returns:** *`Promise`* ___ -### unsubscribeAll +### batchMatchOrders -▸ **unsubscribeAll**(): *void* +#### ▪ **batchMatchOrders**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1717](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1717)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2199](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2199)* -Cancels all existing subscriptions +Match complementary orders that have a profitable spread. +Each order is filled at their respective price point, and +the matcher receives a profit denominated in the left maker asset. -**Returns:** *void* +#### awaitTransactionSuccessAsync -___ +▸ **awaitTransactionSuccessAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -### `Static` ABI +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2286](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2286)* -▸ **ABI**(): *[ContractAbi](#contractabi)* +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1470](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1470)* +**Parameters:** -**Returns:** *[ContractAbi](#contractabi)* +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -The contract ABI +**Returns:** *`PromiseWithTransactionHash`* -___ +A promise that resolves when the transaction is successful -### `Static` deployAsync +#### callAsync -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +▸ **callAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1428)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2486](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2486)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`leftOrders` | `Array` | - | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | - | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | - | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | - | Proof that right orders were created by the right makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* -**Returns:** *`Promise`* +batchMatchedFillResults Amounts filled and profit generated. -___ +#### estimateGasAsync -### `Static` deployFrom0xArtifactAsync +▸ **estimateGasAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2360)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1403](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1403)* +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. **Parameters:** -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -___ +The hash of the transaction -### `Static` strictArgumentEncodingCheck +#### getABIDecodedReturnData -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2714](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2714)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2666](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2666)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2614](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2614)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2212)* +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -Defined in base-contract/lib/src/index.d.ts:37 +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2421](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2421)* **Parameters:** Name | Type | ------ | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | +`leftOrders` | `Array` | +`rightOrders` | `Array` | +`leftSignatures` | string[] | +`rightSignatures` | string[] | +`txData?` | `Partial` \| undefined | -**Returns:** *string* +**Returns:** *`Promise`* -## Object literals +___ -### addAuthorizedAddress +### batchMatchOrdersWithMaximalFill -#### ▪ **addAuthorizedAddress**: *object* +#### ▪ **batchMatchOrdersWithMaximalFill**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L60)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2766](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2766)* -Authorizes an address. +Match complementary orders that have a profitable spread. +Each order is maximally filled at their respective price point, and +the matcher receives a profit denominated in either the left maker asset, +right maker asset, or a combination of both. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L96)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2853](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2853)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -7690,7 +7590,10 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -7701,9 +7604,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L153)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3053](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3053)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -7713,17 +7616,22 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`target` | string | - | Address to authorize. | +`leftOrders` | `Array` | - | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | - | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | - | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | - | Proof that right orders were created by the right makers. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +batchMatchedFillResults Amounts filled and profit generated. #### estimateGasAsync -▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L123)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2927](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2927)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -7731,7 +7639,10 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -7740,9 +7651,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L217)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3281)* Decode the ABI-encoded return data from a transaction @@ -7752,15 +7663,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:205](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L205)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3233](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3233)* Decode the ABI-encoded transaction data into its input arguments @@ -7770,15 +7681,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *`Array`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`target`: string): *string* +▸ **getABIEncodedTransactionData**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L192)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3181)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -7788,7 +7699,10 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | **Returns:** *string* @@ -7796,9 +7710,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L68)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2779](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2779)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -7807,7 +7721,10 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -7816,32 +7733,59 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L142)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2988](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2988)* **Parameters:** Name | Type | ------ | ------ | -`target` | string | +`leftOrders` | `Array` | +`rightOrders` | `Array` | +`leftSignatures` | string[] | +`rightSignatures` | string[] | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### authorities +### cancelOrder + +#### ▪ **cancelOrder**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3330)* + +After calling, the order can not be filled anymore. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`order`: object, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3385](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3385)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** -#### ▪ **authorities**: *object* +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L225)* +A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`index_0`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`order`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:231](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L231)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3494](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3494)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -7849,19 +7793,38 @@ since they don't modify state. **Parameters:** -Name | Type | Default | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | Order struct containing order specifications. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3426](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3426)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | ------ | ------ | ------ | -`index_0` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`order` | object | Order struct containing order specifications. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:296](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L296)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3641)* Decode the ABI-encoded return data from a transaction @@ -7871,15 +7834,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* +▸ **getABIDecodedTransactionData**(`callData`: string): *[object]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:284](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L284)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3589](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3589)* Decode the ABI-encoded transaction data into its input arguments @@ -7889,15 +7852,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`BigNumber`* +**Returns:** *[object]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`index_0`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`order`: object): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L273)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3561)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -7905,134 +7868,126 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`index_0` | `BigNumber` | +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | **Returns:** *string* The ABI encoded transaction data as a string -___ +#### sendTransactionAsync -### authorized +▸ **sendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* -#### ▪ **authorized**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3338](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3338)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1084](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1084)* +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. -#### callAsync +**Parameters:** -▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1090](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1090)* +**Returns:** *`Promise`* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +The hash of the transaction -**Parameters:** +#### validateAndSendTransactionAsync -Name | Type | Default | ------- | ------ | ------ | -`index_0` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +▸ **validateAndSendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3465](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3465)* -#### getABIDecodedReturnData +**Parameters:** -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* +Name | Type | +------ | ------ | +`order` | object | +`txData?` | `Partial` \| undefined | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1157](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1157)* +**Returns:** *`Promise`* -Decode the ABI-encoded return data from a transaction +___ -**Parameters:** +### cancelOrdersUpTo -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +#### ▪ **cancelOrdersUpTo**: *object* -**Returns:** *boolean* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3655)* -An array representing the output results in order. Keynames of nested structs are preserved. +Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch +and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress). -#### getABIDecodedTransactionData +#### awaitTransactionSuccessAsync -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **awaitTransactionSuccessAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1145)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3692](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3692)* -Decode the ABI-encoded transaction data into its input arguments +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -**Returns:** *string* +**Returns:** *`PromiseWithTransactionHash`* -An array representing the input arguments in order. Keynames of nested structs are preserved. +A promise that resolves when the transaction is successful -#### getABIEncodedTransactionData +#### callAsync -▸ **getABIEncodedTransactionData**(`index_0`: string): *string* +▸ **callAsync**(`targetOrderEpoch`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1132)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3754](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3754)* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`index_0` | string | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | - | Orders created with a salt less or equal to this value will be cancelled. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *string* +**Returns:** *`Promise`* -The ABI encoded transaction data as a string +#### estimateGasAsync -___ +▸ **estimateGasAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -### getAuthorizedAddresses +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3720](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3720)* -#### ▪ **getAuthorizedAddresses**: *object* +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1168)* +**Parameters:** -Gets all authorized addresses. +Name | Type | Description | +------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -#### callAsync +**Returns:** *`Promise`* -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1175](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1175)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -Array of authorized addresses. +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1234](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1234)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3828](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3828)* Decode the ABI-encoded return data from a transaction @@ -8042,15 +7997,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string[]* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1222](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1222)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3816](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3816)* Decode the ABI-encoded transaction data into its input arguments @@ -8060,39 +8015,78 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[`BigNumber`]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`targetOrderEpoch`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1212)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3803](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3803)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | + **Returns:** *string* The ABI encoded transaction data as a string -___ +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3664](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3664)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3739](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3739)* + +**Parameters:** + +Name | Type | +------ | ------ | +`targetOrderEpoch` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* -### getProxyId +___ -#### ▪ **getProxyId**: *object* +### cancelled -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1020](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1020)* +#### ▪ **cancelled**: *object* -Gets the proxy id associated with the proxy address. +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3836](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3836)* #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1027](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1027)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3842](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3842)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -8102,18 +8096,17 @@ since they don't modify state. Name | Type | Default | ------ | ------ | ------ | +`index_0` | string | - | `callData` | `Partial` | {} | `defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* - -Proxy id. +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1076](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1076)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3912](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3912)* Decode the ABI-encoded return data from a transaction @@ -8123,15 +8116,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1064](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1064)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3900](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3900)* Decode the ABI-encoded transaction data into its input arguments @@ -8141,37 +8134,43 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1054](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1054)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3889](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3889)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | + **Returns:** *string* The ABI encoded transaction data as a string ___ -### owner +### currentContextAddress -#### ▪ **owner**: *object* +#### ▪ **currentContextAddress**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L472)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3920](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3920)* #### callAsync ▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:478](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L478)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3926](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3926)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -8190,7 +8189,7 @@ Name | Type | Default | ▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:537](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L537)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3990](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3990)* Decode the ABI-encoded return data from a transaction @@ -8208,7 +8207,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:525](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L525)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3978](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3978)* Decode the ABI-encoded transaction data into its input arguments @@ -8226,7 +8225,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:515](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L515)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3968](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3968)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -8238,19 +8237,19 @@ The ABI encoded transaction data as a string ___ -### removeAuthorizedAddress +### executeTransaction -#### ▪ **removeAuthorizedAddress**: *object* +#### ▪ **executeTransaction**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:307](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L307)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4001](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4001)* -Removes authorizion of an address. +Executes an Exchange method call in the context of signer. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`transaction`: object, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L343)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4051](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4051)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -8259,7 +8258,8 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -8270,9 +8270,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`transaction`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L400)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4141)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -8282,17 +8282,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`target` | string | - | Address to remove authorization from. | +`transaction` | object | - | 0x transaction structure. | +`signature` | string | - | Proof that transaction has been signed by signer. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +ABI encoded return data of the underlying Exchange function call. #### estimateGasAsync -▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`transaction`: object, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L370)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4086](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4086)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -8300,7 +8303,8 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -8309,9 +8313,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:464](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L464)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4253](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4253)* Decode the ABI-encoded return data from a transaction @@ -8321,15 +8325,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:452](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L452)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4225)* Decode the ABI-encoded transaction data into its input arguments @@ -8339,15 +8343,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *object* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`target`: string): *string* +▸ **getABIEncodedTransactionData**(`transaction`: object, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:439](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L439)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4202](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4202)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -8357,7 +8361,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | **Returns:** *string* @@ -8365,9 +8370,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`transaction`: object, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:315](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L315)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4010](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4010)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -8376,7 +8381,8 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -8385,34 +8391,35 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`transaction`: object, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:389](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L389)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4118)* **Parameters:** Name | Type | ------ | ------ | -`target` | string | +`transaction` | object | +`signature` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### removeAuthorizedAddressAtIndex +### fillOrKillOrder -#### ▪ **removeAuthorizedAddressAtIndex**: *object* +#### ▪ **fillOrKillOrder**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:548](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L548)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4266](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4266)* -Removes authorizion of an address. +Fills the input order. Reverts if exact takerAssetFillAmount not filled. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:594](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L594)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4329)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -8421,8 +8428,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -8433,9 +8441,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`target`: string, `index`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:675](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L675)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4462](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4462)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -8445,18 +8453,19 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`target` | string | - | Address to remove authorization from. | -`index` | `BigNumber` | - | Index of target in authorities array. | +`order` | object | - | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | +`signature` | string | - | Proof that order has been created by maker. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* #### estimateGasAsync -▸ **estimateGasAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:628](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L628)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4381)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -8464,8 +8473,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -8474,9 +8484,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:751](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L751)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4627](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4627)* Decode the ABI-encoded return data from a transaction @@ -8486,15 +8496,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:739](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L739)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4581](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4581)* Decode the ABI-encoded transaction data into its input arguments @@ -8504,15 +8514,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, `BigNumber`]* +**Returns:** *object* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`target`: string, `index`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:724](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L724)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4547](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4547)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -8522,8 +8532,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | **Returns:** *string* @@ -8531,9 +8542,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L557)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4276](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4276)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -8542,8 +8553,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -8552,35 +8564,36 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:655](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L655)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4424](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4424)* **Parameters:** Name | Type | ------ | ------ | -`target` | string | -`index` | `BigNumber` | +`order` | object | +`takerAssetFillAmount` | `BigNumber` | +`signature` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### transferFrom +### fillOrder -#### ▪ **transferFrom**: *object* +#### ▪ **fillOrder**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:762](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L762)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4654](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4654)* -Transfers batch of ERC1155 assets. Either succeeds or throws. +Fills the input order. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:822](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L822)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4717](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4717)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -8589,10 +8602,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`assetData` | string | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | -`from` | string | Address to transfer assets from. | -`to` | string | Address to transfer assets to. | -`amount` | `BigNumber` | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -8603,9 +8615,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:921](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L921)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4846](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4846)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -8615,20 +8627,21 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`assetData` | string | - | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | -`from` | string | - | Address to transfer assets from. | -`to` | string | - | Address to transfer assets to. | -`amount` | `BigNumber` | - | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`order` | object | - | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | +`signature` | string | - | Proof that order has been created by maker. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +Amounts filled and fees paid by maker and taker. #### estimateGasAsync -▸ **estimateGasAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:866](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L866)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4764](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4764)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -8636,10 +8649,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`assetData` | string | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | -`from` | string | Address to transfer assets from. | -`to` | string | Address to transfer assets to. | -`amount` | `BigNumber` | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -8648,9 +8660,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1009](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1009)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5011](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5011)* Decode the ABI-encoded return data from a transaction @@ -8660,15 +8672,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:997](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L997)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4965](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4965)* Decode the ABI-encoded transaction data into its input arguments @@ -8678,15 +8690,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string, string, `BigNumber`]* +**Returns:** *object* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:980](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L980)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4931](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4931)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -8696,10 +8708,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`assetData` | string | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | -`from` | string | Address to transfer assets from. | -`to` | string | Address to transfer assets to. | -`amount` | `BigNumber` | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | **Returns:** *string* @@ -8707,9 +8718,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:775](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L775)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4664](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4664)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -8718,10 +8729,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`assetData` | string | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | -`from` | string | Address to transfer assets from. | -`to` | string | Address to transfer assets to. | -`amount` | `BigNumber` | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -8730,57 +8740,34 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L899)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4807](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4807)* **Parameters:** Name | Type | ------ | ------ | -`assetData` | string | -`from` | string | -`to` | string | -`amount` | `BigNumber` | +`order` | object | +`takerAssetFillAmount` | `BigNumber` | +`signature` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### transferOwnership - -#### ▪ **transferOwnership**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1242](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1242)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1276](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1276)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +### filled -**Returns:** *`PromiseWithTransactionHash`* +#### ▪ **filled**: *object* -A promise that resolves when the transaction is successful +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5035](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5035)* #### callAsync -▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1331](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1331)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5041](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5041)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -8790,36 +8777,17 @@ since they don't modify state. Name | Type | Default | ------ | ------ | ------ | -`newOwner` | string | - | +`index_0` | string | - | `callData` | `Partial` | {} | `defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1302](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1302)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1394](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1394)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5111)* Decode the ABI-encoded return data from a transaction @@ -8829,15 +8797,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1382](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1382)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5099](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5099)* Decode the ABI-encoded transaction data into its input arguments @@ -8847,15 +8815,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1369](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1369)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5088](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5088)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -8865,322 +8833,295 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | ------ | ------ | -`newOwner` | string | +`index_0` | string | **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync +___ -▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* +### getAssetProxy -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1249](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1249)* +#### ▪ **getAssetProxy**: *object* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5122)* -**Parameters:** +Gets an asset proxy. -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction +#### callAsync -#### validateAndSendTransactionAsync +▸ **callAsync**(`assetProxyId`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5130)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1321)* +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`newOwner` | string | -`txData?` | `Partial` \| undefined | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetProxyId` | string | - | Id of the asset proxy. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | **Returns:** *`Promise`* -
- -# Class: ERC20ProxyContract - - -## Constructors - +The asset proxy registered to assetProxyId. Returns 0x0 if no proxy is registered. +#### getABIDecodedReturnData -\+ **new ERC20ProxyContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ERC20ProxyContract](#class-erc20proxycontract)* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Overrides void* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5201](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5201)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1467](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1467)* +Decode the ABI-encoded return data from a transaction **Parameters:** -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[ERC20ProxyContract](#class-erc20proxycontract)* +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -## Properties +**Returns:** *string* -#### abi +An array representing the output results in order. Keynames of nested structs are preserved. -• **abi**: *[ContractAbi](#contractabi)* +#### getABIDecodedTransactionData +▸ **getABIDecodedTransactionData**(`callData`: string): *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5189](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5189)* -Defined in base-contract/lib/src/index.d.ts:25 +Decode the ABI-encoded transaction data into its input arguments -___ +**Parameters:** -### address +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | -• **address**: *string* +**Returns:** *string* +An array representing the input arguments in order. Keynames of nested structs are preserved. +#### getABIEncodedTransactionData -Defined in base-contract/lib/src/index.d.ts:26 +▸ **getABIEncodedTransactionData**(`assetProxyId`: string): *string* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5178](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5178)* -Args +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). -• **constructorArgs**: *any[]* +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`assetProxyId` | string | Id of the asset proxy. | +**Returns:** *string* -Defined in base-contract/lib/src/index.d.ts:28 +The ABI encoded transaction data as a string ___ -### contractName - -• **contractName**: *string* - - +### getOrderInfo -Defined in base-contract/lib/src/index.d.ts:27 +#### ▪ **getOrderInfo**: *object* -## Methods +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5212)* -### evmExecAsync +Gets information about an order: status, hash, and amount filled. -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +#### callAsync +▸ **callAsync**(`order`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5220)* -Defined in base-contract/lib/src/index.d.ts:38 +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | Order to gather information on. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -### getLogsAsync +**Returns:** *`Promise`* -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC20ProxyEvents](#enumeration-erc20proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* +OrderInfo Information about the order and its state. See LibOrder.OrderInfo for a complete description. -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1451](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1451)* +#### getABIDecodedReturnData -Gets historical logs without creating a subscription +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -**Type parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5365](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5365)* -▪ **ArgsType**: *[ERC20ProxyEventArgs](#erc20proxyeventargs)* +Decode the ABI-encoded return data from a transaction **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`eventName` | [ERC20ProxyEvents](#enumeration-erc20proxyevents) | The ERC20Proxy contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | - -**Returns:** *`Promise>>`* - -Array of logs that match the parameters - -___ +`returnData` | string | the data returned after transaction execution | -### subscribe +**Returns:** *object* -▸ **subscribe**<**ArgsType**>(`eventName`: [ERC20ProxyEvents](#enumeration-erc20proxyevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* +An array representing the output results in order. Keynames of nested structs are preserved. -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1409](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1409)* +#### getABIDecodedTransactionData -Subscribe to an event type emitted by the ERC20Proxy contract. +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -**Type parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5319](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5319)* -▪ **ArgsType**: *[ERC20ProxyEventArgs](#erc20proxyeventargs)* +Decode the ABI-encoded transaction data into its input arguments **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [ERC20ProxyEvents](#enumeration-erc20proxyevents) | - | The ERC20Proxy contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | - -**Returns:** *string* +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | -Subscription token used later to unsubscribe +**Returns:** *object* -___ +An array representing the input arguments in order. Keynames of nested structs are preserved. -### unsubscribe +#### getABIEncodedTransactionData -▸ **unsubscribe**(`subscriptionToken`: string): *void* +▸ **getABIEncodedTransactionData**(`order`: object): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1434)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5291](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5291)* -Cancel a subscription +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | - -**Returns:** *void* - -___ - -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1440)* +`order` | object | Order to gather information on. | -Cancels all existing subscriptions +**Returns:** *string* -**Returns:** *void* +The ABI encoded transaction data as a string ___ -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* +### isValidHashSignature -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1212)* +#### ▪ **isValidHashSignature**: *object* -**Returns:** *[ContractAbi](#contractabi)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5384](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5384)* -The contract ABI +Verifies that a hash has been signed by the given signer. -___ +#### callAsync -### `Static` deployAsync +▸ **callAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5394)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1170)* +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`hash` | string | - | Any 32-byte hash. | +`signerAddress` | string | - | Address that should have signed the given hash. | +`signature` | string | - | Proof that the hash has been signed by signer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -___ +isValid `true` if the signature is valid for the given hash and signer. -### `Static` deployFrom0xArtifactAsync +#### getABIDecodedReturnData -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1145)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5480)* -**Parameters:** +Decode the ABI-encoded return data from a transaction -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +**Parameters:** -**Returns:** *`Promise`* +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -___ +**Returns:** *boolean* -### `Static` strictArgumentEncodingCheck +An array representing the output results in order. Keynames of nested structs are preserved. -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* +#### getABIDecodedTransactionData +▸ **getABIDecodedTransactionData**(`callData`: string): *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5468)* -Defined in base-contract/lib/src/index.d.ts:37 +Decode the ABI-encoded transaction data into its input arguments **Parameters:** -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | **Returns:** *string* -## Object literals +An array representing the input arguments in order. Keynames of nested structs are preserved. -### addAuthorizedAddress +#### getABIEncodedTransactionData -#### ▪ **addAuthorizedAddress**: *object* +▸ **getABIEncodedTransactionData**(`hash`: string, `signerAddress`: string, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L60)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5452](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5452)* -Authorizes an address. +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). -#### awaitTransactionSuccessAsync +**Parameters:** -▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32-byte hash. | +`signerAddress` | string | Address that should have signed the given hash. | +`signature` | string | Proof that the hash has been signed by signer. | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L96)* +**Returns:** *string* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +The ABI encoded transaction data as a string -**Parameters:** +___ -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to authorize. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +### isValidOrderSignature -**Returns:** *`PromiseWithTransactionHash`* +#### ▪ **isValidOrderSignature**: *object* -A promise that resolves when the transaction is successful +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5491](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5491)* + +Verifies that a signature for an order is valid. #### callAsync -▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`order`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L153)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5500](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5500)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9190,36 +9131,20 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`target` | string | - | Address to authorize. | +`order` | object | - | The order. | +`signature` | string | - | Proof that the order has been signed by signer. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -#### estimateGasAsync +isValid `true` if the signature is valid for the given order and signer. -▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +#### getABIDecodedReturnData -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L123)* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to authorize. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L217)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5648](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5648)* Decode the ABI-encoded return data from a transaction @@ -9229,15 +9154,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:205](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L205)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5602](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5602)* Decode the ABI-encoded transaction data into its input arguments @@ -9247,15 +9172,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *object* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`target`: string): *string* +▸ **getABIEncodedTransactionData**(`order`: object, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L192)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5570](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5570)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -9265,60 +9190,28 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`order` | object | The order. | +`signature` | string | Proof that the order has been signed by signer. | **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L68)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to authorize. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L142)* - -**Parameters:** - -Name | Type | ------- | ------ | -`target` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - ___ -### authorities +### isValidTransactionSignature -#### ▪ **authorities**: *object* +#### ▪ **isValidTransactionSignature**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L225)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5661](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5661)* + +Verifies that a signature for a transaction is valid. #### callAsync -▸ **callAsync**(`index_0`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`transaction`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:231](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L231)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5670](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5670)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9326,19 +9219,22 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`index_0` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`transaction` | object | - | The transaction. | +`signature` | string | - | Proof that the order has been signed by signer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +isValid `true` if the signature is valid for the given transaction and signer. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:296](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L296)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5782](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5782)* Decode the ABI-encoded return data from a transaction @@ -9348,15 +9244,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:284](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L284)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5754](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5754)* Decode the ABI-encoded transaction data into its input arguments @@ -9366,15 +9262,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`BigNumber`* +**Returns:** *object* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`index_0`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`transaction`: object, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L273)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5731](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5731)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -9382,9 +9278,10 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`index_0` | `BigNumber` | +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | The transaction. | +`signature` | string | Proof that the order has been signed by signer. | **Returns:** *string* @@ -9392,17 +9289,44 @@ The ABI encoded transaction data as a string ___ -### authorized +### marketBuyOrdersFillOrKill + +#### ▪ **marketBuyOrdersFillOrKill**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5796](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5796)* + +Calls marketBuyOrdersNoThrow then reverts if < makerAssetFillAmount has been bought. +NOTE: This function does not enforce that the makerAsset is the same for each order. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5860](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5860)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -#### ▪ **authorized**: *object* +**Returns:** *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:826](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L826)* +A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:832](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L832)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5996](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5996)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9410,19 +9334,44 @@ since they don't modify state. **Parameters:** -Name | Type | Default | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | - | Minimum amount of makerAsset to buy. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5913](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5913)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | ------ | ------ | ------ | -`index_0` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L899)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6165](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6165)* Decode the ABI-encoded return data from a transaction @@ -9432,15 +9381,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *boolean* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:887](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L887)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6117)* Decode the ABI-encoded transaction data into its input arguments @@ -9450,15 +9399,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *`Array`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`index_0`: string): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:874](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L874)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6082](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6082)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -9466,29 +9415,96 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`index_0` | string | +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | **Returns:** *string* The ABI encoded transaction data as a string +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5806](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5806)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5957](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5957)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`makerAssetFillAmount` | `BigNumber` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + ___ -### getAuthorizedAddresses +### marketBuyOrdersNoThrow + +#### ▪ **marketBuyOrdersNoThrow**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6194)* + +Executes multiple calls of fillOrder until total amount of makerAsset is bought by taker. +If any fill reverts, the error is caught and ignored. +NOTE: This function does not enforce that the makerAsset is the same for each order. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6258](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6258)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** -#### ▪ **getAuthorizedAddresses**: *object* +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:910](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L910)* +**Returns:** *`PromiseWithTransactionHash`* -Gets all authorized addresses. +A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:917](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L917)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6394)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9496,20 +9512,44 @@ since they don't modify state. **Parameters:** -Name | Type | Default | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | - | Desired amount of makerAsset to buy. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6311](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6311)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | ------ | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Array of authorized addresses. +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:976](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L976)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6563](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6563)* Decode the ABI-encoded return data from a transaction @@ -9519,15 +9559,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string[]* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:964](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L964)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6515](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6515)* Decode the ABI-encoded transaction data into its input arguments @@ -9537,137 +9577,156 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *`Array`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:954](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L954)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6480)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Returns:** *string* - -The ABI encoded transaction data as a string +**Parameters:** -___ - -### getProxyId - -#### ▪ **getProxyId**: *object* +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:762](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L762)* +**Returns:** *string* -Gets the proxy id associated with the proxy address. +The ABI encoded transaction data as a string -#### callAsync +#### sendTransactionAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **sendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:769](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L769)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6204)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. **Parameters:** -Name | Type | Default | +Name | Type | Description | ------ | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* -Proxy id. - -#### getABIDecodedReturnData +The hash of the transaction -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +#### validateAndSendTransactionAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:818](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L818)* +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -Decode the ABI-encoded return data from a transaction +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6355)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +Name | Type | +------ | ------ | +`orders` | `Array` | +`makerAssetFillAmount` | `BigNumber` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | -**Returns:** *string* +**Returns:** *`Promise`* -An array representing the output results in order. Keynames of nested structs are preserved. +___ -#### getABIDecodedTransactionData +### marketSellOrdersFillOrKill -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +#### ▪ **marketSellOrdersFillOrKill**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:806](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L806)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6591](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6591)* -Decode the ABI-encoded transaction data into its input arguments +Calls marketSellOrdersNoThrow then reverts if < takerAssetFillAmount has been sold. +NOTE: This function does not enforce that the takerAsset is the same for each order. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6655)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -#### getABIEncodedTransactionData +**Returns:** *`PromiseWithTransactionHash`* -▸ **getABIEncodedTransactionData**(): *string* +A promise that resolves when the transaction is successful -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:796](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L796)* +#### callAsync -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -**Returns:** *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6791](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6791)* -The ABI encoded transaction data as a string +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -___ +**Parameters:** -### owner +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | - | Minimum amount of takerAsset to sell. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -#### ▪ **owner**: *object* +**Returns:** *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L472)* +Amounts filled and fees paid by makers and taker. -#### callAsync +#### estimateGasAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:478](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L478)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6708](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6708)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. **Parameters:** -Name | Type | Default | +Name | Type | Description | ------ | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:537](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L537)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6960](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6960)* Decode the ABI-encoded return data from a transaction @@ -9677,15 +9736,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:525](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L525)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6912](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6912)* Decode the ABI-encoded transaction data into its input arguments @@ -9695,39 +9754,88 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *`Array`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:515](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L515)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6877](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6877)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | + **Returns:** *string* The ABI encoded transaction data as a string +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6601](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6601)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6752](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6752)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAssetFillAmount` | `BigNumber` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + ___ -### removeAuthorizedAddress +### marketSellOrdersNoThrow -#### ▪ **removeAuthorizedAddress**: *object* +#### ▪ **marketSellOrdersNoThrow**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:307](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L307)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6989](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6989)* -Removes authorizion of an address. +Executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. +If any fill reverts, the error is caught and ignored. +NOTE: This function does not enforce that the takerAsset is the same for each order. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L343)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7053](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7053)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -9736,7 +9844,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -9747,9 +9857,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L400)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7189](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7189)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9759,17 +9869,21 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`target` | string | - | Address to remove authorization from. | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +Amounts filled and fees paid by makers and taker. #### estimateGasAsync -▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L370)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7106](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7106)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -9777,7 +9891,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -9786,9 +9902,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:464](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L464)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7358)* Decode the ABI-encoded return data from a transaction @@ -9798,15 +9914,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:452](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L452)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7310](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7310)* Decode the ABI-encoded transaction data into its input arguments @@ -9816,15 +9932,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *`Array`* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`target`: string): *string* +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:439](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L439)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7275](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7275)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -9834,7 +9950,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | **Returns:** *string* @@ -9842,9 +9960,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:315](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L315)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6999](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6999)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -9853,7 +9971,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -9862,34 +9982,39 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:389](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L389)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7150](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7150)* **Parameters:** Name | Type | ------ | ------ | -`target` | string | +`orders` | `Array` | +`takerAssetFillAmount` | `BigNumber` | +`signatures` | string[] | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### removeAuthorizedAddressAtIndex +### matchOrders -#### ▪ **removeAuthorizedAddressAtIndex**: *object* +#### ▪ **matchOrders**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:548](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L548)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7388](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7388)* -Removes authorizion of an address. +Match two complementary orders that have a profitable spread. +Each order is filled at their respective price point. However, the calculations are +carried out as though the orders are both being filled at the right order's price point. +The profit made by the left order goes to the taker (who matched the two orders). #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:594](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L594)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7469](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7469)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -9898,8 +10023,10 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -9910,9 +10037,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`target`: string, `index`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:675](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L675)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7655)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9922,18 +10049,22 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`target` | string | - | Address to remove authorization from. | -`index` | `BigNumber` | - | Index of target in authorities array. | +`leftOrder` | object | - | First order to match. | +`rightOrder` | object | - | Second order to match. | +`leftSignature` | string | - | Proof that order was created by the left maker. | +`rightSignature` | string | - | Proof that order was created by the right maker. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +matchedFillResults Amounts filled and fees paid by maker and taker of matched orders. #### estimateGasAsync -▸ **estimateGasAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:628](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L628)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7539](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7539)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -9941,8 +10072,10 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -9951,9 +10084,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:751](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L751)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7875](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7875)* Decode the ABI-encoded return data from a transaction @@ -9963,15 +10096,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:739](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L739)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7829](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7829)* Decode the ABI-encoded transaction data into its input arguments @@ -9981,15 +10114,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, `BigNumber`]* +**Returns:** *object* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`target`: string, `index`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:724](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L724)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7779](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7779)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -9999,8 +10132,10 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | **Returns:** *string* @@ -10008,9 +10143,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L557)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7399](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7399)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -10019,8 +10154,10 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -10029,33 +10166,40 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:655](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L655)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7598](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7598)* **Parameters:** Name | Type | ------ | ------ | -`target` | string | -`index` | `BigNumber` | +`leftOrder` | object | +`rightOrder` | object | +`leftSignature` | string | +`rightSignature` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### transferOwnership +### matchOrdersWithMaximalFill -#### ▪ **transferOwnership**: *object* +#### ▪ **matchOrdersWithMaximalFill**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:984](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L984)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7927](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7927)* + +Match two complementary orders that have a profitable spread. +Each order is maximally filled at their respective price point, and +the matcher receives a profit denominated in either the left maker asset, +right maker asset, or a combination of both. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1018](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1018)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8008](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8008)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -10064,7 +10208,10 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`newOwner` | string | - | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -10075,9 +10222,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1073](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1073)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8200](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8200)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -10085,19 +10232,24 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`newOwner` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`leftOrder` | object | - | First order to match. | +`rightOrder` | object | - | Second order to match. | +`leftSignature` | string | - | Proof that order was created by the left maker. | +`rightSignature` | string | - | Proof that order was created by the right maker. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +matchedFillResults Amounts filled by maker and taker of matched orders. #### estimateGasAsync -▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1044](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1044)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8078](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8078)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -10105,7 +10257,10 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`newOwner` | string | - | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -10114,9 +10269,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1136)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8420)* Decode the ABI-encoded return data from a transaction @@ -10126,15 +10281,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *object* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1124)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8374)* Decode the ABI-encoded transaction data into its input arguments @@ -10144,15 +10299,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *object* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* +▸ **getABIEncodedTransactionData**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1111)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8324](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8324)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -10160,9 +10315,12 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`newOwner` | string | +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | **Returns:** *string* @@ -10170,9 +10328,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:991](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L991)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7938](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7938)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -10181,7 +10339,10 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`newOwner` | string | - | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -10190,293 +10351,262 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1063](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1063)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8137)* **Parameters:** Name | Type | ------ | ------ | -`newOwner` | string | +`leftOrder` | object | +`rightOrder` | object | +`leftSignature` | string | +`rightSignature` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* -
- -# Class: ERC20TokenContract +___ +### orderEpoch -## Constructors +#### ▪ **orderEpoch**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8466](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8466)* +#### callAsync -\+ **new ERC20TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ERC20TokenContract](#class-erc20tokencontract)* +▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Overrides void* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8472](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8472)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1259](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1259)* +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[ERC20TokenContract](#class-erc20tokencontract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`index_1` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | +**Returns:** *`Promise`* +#### getABIDecodedReturnData -Defined in base-contract/lib/src/index.d.ts:26 +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8551](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8551)* -Args +Decode the ABI-encoded return data from a transaction -• **constructorArgs**: *any[]* +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | +**Returns:** *`BigNumber`* -Defined in base-contract/lib/src/index.d.ts:28 +An array representing the output results in order. Keynames of nested structs are preserved. -___ +#### getABIDecodedTransactionData -### contractName +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -• **contractName**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8539](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8539)* +Decode the ABI-encoded transaction data into its input arguments +**Parameters:** -Defined in base-contract/lib/src/index.d.ts:27 +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | -## Methods +**Returns:** *string* -### evmExecAsync +An array representing the input arguments in order. Keynames of nested structs are preserved. -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +#### getABIEncodedTransactionData +▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8524](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8524)* -Defined in base-contract/lib/src/index.d.ts:38 +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). **Parameters:** Name | Type | ------ | ------ | -`input` | `Buffer` | +`index_0` | string | +`index_1` | string | -**Returns:** *`Promise`* +**Returns:** *string* + +The ABI encoded transaction data as a string ___ -### getLogsAsync +### owner -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC20TokenEvents](#enumeration-erc20tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* +#### ▪ **owner**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1243](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1243)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8559](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8559)* -Gets historical logs without creating a subscription +#### callAsync -**Type parameters:** +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -▪ **ArgsType**: *[ERC20TokenEventArgs](#erc20tokeneventargs)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8565](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8565)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`eventName` | [ERC20TokenEvents](#enumeration-erc20tokenevents) | The ERC20Token contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | - -**Returns:** *`Promise>>`* - -Array of logs that match the parameters - -___ - -### subscribe +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -▸ **subscribe**<**ArgsType**>(`eventName`: [ERC20TokenEvents](#enumeration-erc20tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* +**Returns:** *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1201](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1201)* +#### getABIDecodedReturnData -Subscribe to an event type emitted by the ERC20Token contract. +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -**Type parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8629](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8629)* -▪ **ArgsType**: *[ERC20TokenEventArgs](#erc20tokeneventargs)* +Decode the ABI-encoded return data from a transaction **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [ERC20TokenEvents](#enumeration-erc20tokenevents) | - | The ERC20Token contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | **Returns:** *string* -Subscription token used later to unsubscribe - -___ +An array representing the output results in order. Keynames of nested structs are preserved. -### unsubscribe +#### getABIDecodedTransactionData -▸ **unsubscribe**(`subscriptionToken`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1226](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1226)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8617)* -Cancel a subscription +Decode the ABI-encoded transaction data into its input arguments **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | +`callData` | string | The ABI-encoded transaction data | **Returns:** *void* -___ +An array representing the input arguments in order. Keynames of nested structs are preserved. -### unsubscribeAll +#### getABIEncodedTransactionData -▸ **unsubscribeAll**(): *void* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1232](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1232)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8607](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8607)* -Cancels all existing subscriptions +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). -**Returns:** *void* +**Returns:** *string* -___ +The ABI encoded transaction data as a string -### `Static` ABI +___ -▸ **ABI**(): *[ContractAbi](#contractabi)* +### preSign -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1012](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1012)* +#### ▪ **preSign**: *object* -**Returns:** *[ContractAbi](#contractabi)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8641)* -The contract ABI +Approves a hash on-chain. +After presigning a hash, the preSign signature type will become valid for that hash and signer. -___ +#### awaitTransactionSuccessAsync -### `Static` deployAsync +▸ **awaitTransactionSuccessAsync**(`hash`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8676)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:970](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L970)* +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. **Parameters:** -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32-byte hash. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -**Returns:** *`Promise`* +**Returns:** *`PromiseWithTransactionHash`* -___ +A promise that resolves when the transaction is successful -### `Static` deployFrom0xArtifactAsync +#### callAsync -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +▸ **callAsync**(`hash`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8733](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8733)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:945](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L945)* +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### allowance - -#### ▪ **allowance**: *object* +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`hash` | string | - | Any 32-byte hash. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:851](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L851)* +**Returns:** *`Promise`* -#### callAsync +#### estimateGasAsync -▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **estimateGasAsync**(`hash`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:860](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L860)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8703](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8703)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_owner` | string | - | The address of the account owning tokens | -`_spender` | string | - | The address of the account able to transfer the tokens | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32-byte hash. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Amount of remaining tokens allowed to spent +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:936](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L936)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8800](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8800)* Decode the ABI-encoded return data from a transaction @@ -10486,15 +10616,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:924](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L924)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8788](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8788)* Decode the ABI-encoded transaction data into its input arguments @@ -10504,15 +10634,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: string): *string* +▸ **getABIEncodedTransactionData**(`hash`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:909](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L909)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8777](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8777)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -10522,94 +10652,81 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_owner` | string | The address of the account owning tokens | -`_spender` | string | The address of the account able to transfer the tokens | +`hash` | string | Any 32-byte hash. | **Returns:** *string* The ABI encoded transaction data as a string -___ - -### approve - -#### ▪ **approve**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L60)* - -`msg.sender` approves `_spender` to spend `_value` tokens - -#### awaitTransactionSuccessAsync +#### sendTransactionAsync -▸ **awaitTransactionSuccessAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **sendTransactionAsync**(`hash`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:106](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L106)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8649](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8649)* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`_spender` | string | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | The amount of wei to be approved for transfer | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* +`hash` | string | Any 32-byte hash. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -A promise that resolves when the transaction is successful +**Returns:** *`Promise`* -#### callAsync +The hash of the transaction -▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +#### validateAndSendTransactionAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:180](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L180)* +▸ **validateAndSendTransactionAsync**(`hash`: string, `txData?`: `Partial` | undefined): *`Promise`* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8722](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8722)* **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_spender` | string | - | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | - | The amount of wei to be approved for transfer | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Name | Type | +------ | ------ | +`hash` | string | +`txData?` | `Partial` \| undefined | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Always true if the call has enough gas to complete execution +___ -#### estimateGasAsync +### preSigned -▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +#### ▪ **preSigned**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L136)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8808](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8808)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +#### callAsync + +▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8814](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8814)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`_spender` | string | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | The amount of wei to be approved for transfer | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +`index_0` | string | - | +`index_1` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -The hash of the transaction +**Returns:** *`Promise`* #### getABIDecodedReturnData ▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:256](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L256)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8893](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8893)* Decode the ABI-encoded return data from a transaction @@ -10627,7 +10744,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:244](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L244)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8881](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8881)* Decode the ABI-encoded transaction data into its input arguments @@ -10643,9 +10760,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_spender`: string, `_value`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:229](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L229)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8866](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8866)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -10653,67 +10770,28 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`_spender` | string | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | The amount of wei to be approved for transfer | +Name | Type | +------ | ------ | +`index_0` | string | +`index_1` | string | **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:69](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L69)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_spender` | string | The address of the account able to transfer the tokens | -`_value` | `BigNumber` | The amount of wei to be approved for transfer | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:163](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L163)* - -**Parameters:** - -Name | Type | ------- | ------ | -`_spender` | string | -`_value` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - ___ -### balanceOf - -#### ▪ **balanceOf**: *object* +### protocolFeeCollector -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:575](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L575)* +#### ▪ **protocolFeeCollector**: *object* -Query the balance of owner +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8901](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8901)* #### callAsync -▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:583](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L583)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8907](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8907)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -10721,21 +10799,18 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_owner` | string | - | The address from which the balance will be retrieved | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -Balance of owner +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:649](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L649)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8971](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8971)* Decode the ABI-encoded return data from a transaction @@ -10745,15 +10820,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L637)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8959](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8959)* Decode the ABI-encoded transaction data into its input arguments @@ -10763,45 +10838,37 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *void* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_owner`: string): *string* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:626](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L626)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8949](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8949)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_owner` | string | The address from which the balance will be retrieved | - **Returns:** *string* The ABI encoded transaction data as a string ___ -### totalSupply - -#### ▪ **totalSupply**: *object* +### protocolFeeMultiplier -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:267](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L267)* +#### ▪ **protocolFeeMultiplier**: *object* -Query total supply of token +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8979](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8979)* #### callAsync ▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:274](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L274)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8985](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8985)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -10816,13 +10883,11 @@ Name | Type | Default | **Returns:** *`Promise`* -Total supply of token - #### getABIDecodedReturnData ▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:333](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L333)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9049](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9049)* Decode the ABI-encoded return data from a transaction @@ -10840,7 +10905,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L321)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9037](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9037)* Decode the ABI-encoded transaction data into its input arguments @@ -10858,7 +10923,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:311](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L311)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9027](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9027)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -10870,19 +10935,20 @@ The ABI encoded transaction data as a string ___ -### transfer +### registerAssetProxy -#### ▪ **transfer**: *object* +#### ▪ **registerAssetProxy**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:660](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L660)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9061](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9061)* -send `value` token to `to` from `msg.sender` +Registers an asset proxy to its asset proxy id. +Once an asset proxy is registered, it cannot be unregistered. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`assetProxy`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:703](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L703)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9096](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9096)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -10891,8 +10957,7 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`_to` | string | The address of the recipient | -`_value` | `BigNumber` | The amount of token to be transferred | +`assetProxy` | string | Address of new asset proxy to register. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -10903,9 +10968,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`assetProxy`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:770](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L770)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9156](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9156)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -10915,20 +10980,17 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_to` | string | - | The address of the recipient | -`_value` | `BigNumber` | - | The amount of token to be transferred | +`assetProxy` | string | - | Address of new asset proxy to register. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* - -True if transfer was successful +**Returns:** *`Promise`* #### estimateGasAsync -▸ **estimateGasAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:733](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L733)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9123)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -10936,8 +10998,7 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`_to` | string | The address of the recipient | -`_value` | `BigNumber` | The amount of token to be transferred | +`assetProxy` | string | Address of new asset proxy to register. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -10946,9 +11007,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:843](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L843)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9229)* Decode the ABI-encoded return data from a transaction @@ -10958,15 +11019,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *boolean* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:831](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L831)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9217)* Decode the ABI-encoded transaction data into its input arguments @@ -10976,15 +11037,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_to`: string, `_value`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`assetProxy`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:816](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L816)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9204)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -10994,8 +11055,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_to` | string | The address of the recipient | -`_value` | `BigNumber` | The amount of token to be transferred | +`assetProxy` | string | Address of new asset proxy to register. | **Returns:** *string* @@ -11003,9 +11063,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:669](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L669)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9069](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9069)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -11014,8 +11074,7 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_to` | string | The address of the recipient | -`_value` | `BigNumber` | The amount of token to be transferred | +`assetProxy` | string | Address of new asset proxy to register. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -11024,35 +11083,34 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:753](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L753)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9142](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9142)* **Parameters:** Name | Type | ------ | ------ | -`_to` | string | -`_value` | `BigNumber` | +`assetProxy` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### transferFrom +### setProtocolFeeCollectorAddress -#### ▪ **transferFrom**: *object* +#### ▪ **setProtocolFeeCollectorAddress**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:344](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L344)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9240](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9240)* -send `value` token to `to` from `from` on the condition it is approved by `from` +Allows the owner to update the protocolFeeCollector address. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`updatedProtocolFeeCollector`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:395](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L395)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9282](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9282)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -11061,9 +11119,7 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The address of the sender | -`_to` | string | The address of the recipient | -`_value` | `BigNumber` | The amount of token to be transferred | +`updatedProtocolFeeCollector` | string | The updated protocolFeeCollector contract address. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -11074,9 +11130,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`updatedProtocolFeeCollector`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L482)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9355)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -11086,21 +11142,17 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`_from` | string | - | The address of the sender | -`_to` | string | - | The address of the recipient | -`_value` | `BigNumber` | - | The amount of token to be transferred | +`updatedProtocolFeeCollector` | string | - | The updated protocolFeeCollector contract address. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* - -True if transfer was successful +**Returns:** *`Promise`* #### estimateGasAsync -▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`updatedProtocolFeeCollector`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:433](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L433)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9313](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9313)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -11108,9 +11160,7 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The address of the sender | -`_to` | string | The address of the recipient | -`_value` | `BigNumber` | The amount of token to be transferred | +`updatedProtocolFeeCollector` | string | The updated protocolFeeCollector contract address. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -11119,9 +11169,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:564](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L564)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9431)* Decode the ABI-encoded return data from a transaction @@ -11131,15 +11181,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *boolean* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:552](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L552)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9419)* Decode the ABI-encoded transaction data into its input arguments @@ -11149,15 +11199,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *string* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_value`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`updatedProtocolFeeCollector`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:535](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L535)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9406](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9406)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -11167,9 +11217,7 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The address of the sender | -`_to` | string | The address of the recipient | -`_value` | `BigNumber` | The amount of token to be transferred | +`updatedProtocolFeeCollector` | string | The updated protocolFeeCollector contract address. | **Returns:** *string* @@ -11177,9 +11225,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`updatedProtocolFeeCollector`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:354](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L354)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9249](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9249)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -11188,9 +11236,7 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The address of the sender | -`_to` | string | The address of the recipient | -`_value` | `BigNumber` | The amount of token to be transferred | +`updatedProtocolFeeCollector` | string | The updated protocolFeeCollector contract address. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -11199,274 +11245,197 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`updatedProtocolFeeCollector`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:463](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L463)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9337](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9337)* **Parameters:** Name | Type | ------ | ------ | -`_from` | string | -`_to` | string | -`_value` | `BigNumber` | +`updatedProtocolFeeCollector` | string | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* -
- -# Class: ERC721ProxyContract - - -## Constructors - - - -\+ **new ERC721ProxyContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ERC721ProxyContract](#class-erc721proxycontract)* - -*Overrides void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1467](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1467)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[ERC721ProxyContract](#class-erc721proxycontract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:26 - ___ -Args - -• **constructorArgs**: *any[]* +### setProtocolFeeMultiplier +#### ▪ **setProtocolFeeMultiplier**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9442)* -Defined in base-contract/lib/src/index.d.ts:28 +Allows the owner to update the protocol fee multiplier. -___ +#### awaitTransactionSuccessAsync -### contractName +▸ **awaitTransactionSuccessAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -• **contractName**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9482](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9482)* +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. +**Parameters:** -Defined in base-contract/lib/src/index.d.ts:27 +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | The updated protocol fee multiplier. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -## Methods +**Returns:** *`PromiseWithTransactionHash`* -### evmExecAsync +A promise that resolves when the transaction is successful -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +#### callAsync +▸ **callAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9553](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9553)* -Defined in base-contract/lib/src/index.d.ts:38 +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### getLogsAsync +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | - | The updated protocol fee multiplier. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC721ProxyEvents](#enumeration-erc721proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* +**Returns:** *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1451](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1451)* +#### estimateGasAsync -Gets historical logs without creating a subscription +▸ **estimateGasAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -**Type parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9512](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9512)* -▪ **ArgsType**: *[ERC721ProxyEventArgs](#erc721proxyeventargs)* +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`eventName` | [ERC721ProxyEvents](#enumeration-erc721proxyevents) | The ERC721Proxy contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | - -**Returns:** *`Promise>>`* - -Array of logs that match the parameters - -___ +`updatedProtocolFeeMultiplier` | `BigNumber` | The updated protocol fee multiplier. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -### subscribe +**Returns:** *`Promise`* -▸ **subscribe**<**ArgsType**>(`eventName`: [ERC721ProxyEvents](#enumeration-erc721proxyevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* +The hash of the transaction -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1409](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1409)* +#### getABIDecodedReturnData -Subscribe to an event type emitted by the ERC721Proxy contract. +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -**Type parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9628)* -▪ **ArgsType**: *[ERC721ProxyEventArgs](#erc721proxyeventargs)* +Decode the ABI-encoded return data from a transaction **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [ERC721ProxyEvents](#enumeration-erc721proxyevents) | - | The ERC721Proxy contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | - -**Returns:** *string* +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -Subscription token used later to unsubscribe +**Returns:** *void* -___ +An array representing the output results in order. Keynames of nested structs are preserved. -### unsubscribe +#### getABIDecodedTransactionData -▸ **unsubscribe**(`subscriptionToken`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1434)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9616](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9616)* -Cancel a subscription +Decode the ABI-encoded transaction data into its input arguments **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | - -**Returns:** *void* - -___ - -### unsubscribeAll +`callData` | string | The ABI-encoded transaction data | -▸ **unsubscribeAll**(): *void* +**Returns:** *[`BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1440)* +An array representing the input arguments in order. Keynames of nested structs are preserved. -Cancels all existing subscriptions +#### getABIEncodedTransactionData -**Returns:** *void* +▸ **getABIEncodedTransactionData**(`updatedProtocolFeeMultiplier`: `BigNumber`): *string* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9603](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9603)* -### `Static` ABI +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). -▸ **ABI**(): *[ContractAbi](#contractabi)* +**Parameters:** -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1212)* +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | The updated protocol fee multiplier. | -**Returns:** *[ContractAbi](#contractabi)* +**Returns:** *string* -The contract ABI +The ABI encoded transaction data as a string -___ +#### sendTransactionAsync -### `Static` deployAsync +▸ **sendTransactionAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9450](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9450)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1170)* +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. **Parameters:** -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | The updated protocol fee multiplier. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -___ +The hash of the transaction -### `Static` deployFrom0xArtifactAsync +#### validateAndSendTransactionAsync -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +▸ **validateAndSendTransactionAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1145)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9536](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9536)* **Parameters:** Name | Type | ------ | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +`updatedProtocolFeeMultiplier` | `BigNumber` | +`txData?` | `Partial` \| undefined | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### addAuthorizedAddress +### setSignatureValidatorApproval -#### ▪ **addAuthorizedAddress**: *object* +#### ▪ **setSignatureValidatorApproval**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L60)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9640](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9640)* -Authorizes an address. +Approves/unnapproves a Validator contract to verify signatures on signer's behalf +using the `Validator` signature type. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L96)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9685](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9685)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -11475,7 +11444,8 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`validatorAddress` | string | Address of Validator contract. | +`approval` | boolean | Approval or disapproval of Validator contract. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -11486,9 +11456,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`validatorAddress`: string, `approval`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L153)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9766](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9766)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -11498,7 +11468,8 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`target` | string | - | Address to authorize. | +`validatorAddress` | string | - | Address of Validator contract. | +`approval` | boolean | - | Approval or disapproval of Validator contract. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | @@ -11506,9 +11477,9 @@ Name | Type | Default | Description | #### estimateGasAsync -▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L123)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9719](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9719)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -11516,7 +11487,8 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`validatorAddress` | string | Address of Validator contract. | +`approval` | boolean | Approval or disapproval of Validator contract. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -11527,7 +11499,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L217)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9847](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9847)* Decode the ABI-encoded return data from a transaction @@ -11543,9 +11515,9 @@ An array representing the output results in order. Keynames of nested structs a #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:205](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L205)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9835](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9835)* Decode the ABI-encoded transaction data into its input arguments @@ -11555,15 +11527,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *[string, boolean]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`target`: string): *string* +▸ **getABIEncodedTransactionData**(`validatorAddress`: string, `approval`: boolean): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L192)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9820](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9820)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -11573,7 +11545,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`validatorAddress` | string | Address of Validator contract. | +`approval` | boolean | Approval or disapproval of Validator contract. | **Returns:** *string* @@ -11581,9 +11554,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L68)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9649](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9649)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -11592,7 +11565,8 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to authorize. | +`validatorAddress` | string | Address of Validator contract. | +`approval` | boolean | Approval or disapproval of Validator contract. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -11601,32 +11575,60 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L142)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9746](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9746)* **Parameters:** Name | Type | ------ | ------ | -`target` | string | +`validatorAddress` | string | +`approval` | boolean | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### authorities +### simulateDispatchTransferFromCalls + +#### ▪ **simulateDispatchTransferFromCalls**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9858](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9858)* + +This function may be used to simulate any amount of transfers As they would occur through the Exchange contract. Note that this function will always revert, even if all transfers are successful. However, it may be used with eth_call or with a try/catch pattern in order to simulate the results of the transfers. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9919](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9919)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | Array containing the amounts that correspond to each transfer. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -#### ▪ **authorities**: *object* +**Returns:** *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L225)* +A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`index_0`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:231](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L231)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10033](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10033)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -11634,19 +11636,46 @@ since they don't modify state. **Parameters:** -Name | Type | Default | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | - | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | - | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | - | Array containing the amounts that correspond to each transfer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +This function does not return a value. However, it will always revert with `Error("TRANSFERS_SUCCESSFUL")` if all of the transfers were successful. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9965](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9965)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | ------ | ------ | ------ | -`index_0` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | Array containing the amounts that correspond to each transfer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:296](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L296)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10135)* Decode the ABI-encoded return data from a transaction @@ -11656,15 +11685,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string[], string[], string[], `BigNumber`[]]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:284](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L284)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10121)* Decode the ABI-encoded transaction data into its input arguments @@ -11674,15 +11703,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`BigNumber`* +**Returns:** *[string[], string[], string[], `BigNumber`[]]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`index_0`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L273)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10099](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10099)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -11690,27 +11719,71 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`index_0` | `BigNumber` | +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | Array containing the amounts that correspond to each transfer. | **Returns:** *string* The ABI encoded transaction data as a string +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9873](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9873)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | Array containing the amounts that correspond to each transfer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9996](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9996)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetData` | string[] | +`fromAddresses` | string[] | +`toAddresses` | string[] | +`amounts` | `BigNumber`[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + ___ -### authorized +### transactionsExecuted -#### ▪ **authorized**: *object* +#### ▪ **transactionsExecuted**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:826](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L826)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10145](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10145)* #### callAsync ▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:832](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L832)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10151](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10151)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -11730,7 +11803,7 @@ Name | Type | Default | ▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L899)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10221](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10221)* Decode the ABI-encoded return data from a transaction @@ -11748,7 +11821,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:887](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L887)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10209)* Decode the ABI-encoded transaction data into its input arguments @@ -11766,7 +11839,7 @@ An array representing the input arguments in order. Keynames of nested structs a ▸ **getABIEncodedTransactionData**(`index_0`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:874](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L874)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10198](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10198)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -11784,19 +11857,39 @@ The ABI encoded transaction data as a string ___ -### getAuthorizedAddresses +### transferOwnership + +#### ▪ **transferOwnership**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10229)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10262](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10262)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** -#### ▪ **getAuthorizedAddresses**: *object* +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:910](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L910)* +**Returns:** *`PromiseWithTransactionHash`* -Gets all authorized addresses. +A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:917](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L917)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10317](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10317)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -11806,18 +11899,36 @@ since they don't modify state. Name | Type | Default | ------ | ------ | ------ | +`newOwner` | string | - | `callData` | `Partial` | {} | `defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10288](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10288)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* -Array of authorized addresses. +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:976](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L976)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10385](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10385)* Decode the ABI-encoded return data from a transaction @@ -11827,15 +11938,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string[]* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:964](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L964)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10373](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10373)* Decode the ABI-encoded transaction data into its input arguments @@ -11845,219 +11956,243 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[string]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:954](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L954)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10360)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | + **Returns:** *string* The ABI encoded transaction data as a string -___ +#### sendTransactionAsync -### getProxyId +▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* -#### ▪ **getProxyId**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10236](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10236)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:762](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L762)* +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. -Gets the proxy id associated with the proxy address. +**Parameters:** -#### callAsync +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +**Returns:** *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:769](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L769)* +The hash of the transaction -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10307](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10307)* **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +Name | Type | +------ | ------ | +`newOwner` | string | +`txData?` | `Partial` \| undefined | **Returns:** *`Promise`* -Proxy id. +
-#### getABIDecodedReturnData +# Class: IValidatorContract -▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:818](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L818)* +## Constructors -Decode the ABI-encoded return data from a transaction -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +\+ **new IValidatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[IValidatorContract](#class-ivalidatorcontract)* -**Returns:** *string* +*Overrides void* -An array representing the output results in order. Keynames of nested structs are preserved. +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L238)* -#### getABIDecodedTransactionData +**Parameters:** -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | IValidatorContract.deployedBytecode | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:806](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L806)* +**Returns:** *[IValidatorContract](#class-ivalidatorcontract)* -Decode the ABI-encoded transaction data into its input arguments +## Properties -**Parameters:** +#### abi -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +• **abi**: *[ContractAbi](#contractabi)* -**Returns:** *void* -An array representing the input arguments in order. Keynames of nested structs are preserved. -#### getABIEncodedTransactionData +Defined in base-contract/lib/src/index.d.ts:27 -▸ **getABIEncodedTransactionData**(): *string* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:796](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L796)* +### address -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +• **address**: *string* -**Returns:** *string* -The ABI encoded transaction data as a string + +Defined in base-contract/lib/src/index.d.ts:28 ___ -### owner +Args -#### ▪ **owner**: *object* +• **constructorArgs**: *any[]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L472)* -#### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +Defined in base-contract/lib/src/index.d.ts:30 -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:478](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L478)* +___ -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +### contractName -**Parameters:** +• **contractName**: *string* -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* -#### getABIDecodedReturnData +Defined in base-contract/lib/src/index.d.ts:29 -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:537](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L537)* +### `Static` deployedBytecode -Decode the ABI-encoded return data from a transaction +▪ **deployedBytecode**: *string | undefined* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L31)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +Name | Type | +------ | ------ | +`input` | `Buffer` | -**Returns:** *string* +**Returns:** *`Promise`* -An array representing the output results in order. Keynames of nested structs are preserved. +___ -#### getABIDecodedTransactionData +### `Static` ABI -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **ABI**(): *[ContractAbi](#contractabi)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:525](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L525)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:207](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L207)* -Decode the ABI-encoded transaction data into its input arguments +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:165](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L165)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | -**Returns:** *void* +**Returns:** *`Promise`* -An array representing the input arguments in order. Keynames of nested structs are preserved. +___ -#### getABIEncodedTransactionData +### `Static` deployFrom0xArtifactAsync -▸ **getABIEncodedTransactionData**(): *string* +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:515](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L515)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:140](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L140)* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +**Parameters:** -**Returns:** *string* +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | -The ABI encoded transaction data as a string +**Returns:** *`Promise`* ___ -### removeAuthorizedAddress +### `Static` strictArgumentEncodingCheck -#### ▪ **removeAuthorizedAddress**: *object* +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:307](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L307)* -Removes authorizion of an address. -#### awaitTransactionSuccessAsync +Defined in base-contract/lib/src/index.d.ts:41 -▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +**Parameters:** -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L343)* +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +**Returns:** *string* -**Parameters:** +## Object literals -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to remove authorization from. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +### isValidSignature -**Returns:** *`PromiseWithTransactionHash`* +#### ▪ **isValidSignature**: *object* -A promise that resolves when the transaction is successful +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L35)* + +Verifies that a signature is valid. #### callAsync -▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L400)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L45)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -12067,36 +12202,21 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`target` | string | - | Address to remove authorization from. | +`hash` | string | - | Message hash that is signed. | +`signerAddress` | string | - | Address that should have signed the given hash. | +`signature` | string | - | Proof of signing. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L370)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to remove authorization from. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +**Returns:** *`Promise`* -The hash of the transaction +Magic bytes4 value if the signature is valid. Magic value is bytes4(keccak256("isValidValidatorSignature(address,bytes32,address,bytes)")) #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:464](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L464)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L132)* Decode the ABI-encoded return data from a transaction @@ -12106,15 +12226,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:452](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L452)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L120)* Decode the ABI-encoded transaction data into its input arguments @@ -12124,15 +12244,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`target`: string): *string* +▸ **getABIEncodedTransactionData**(`hash`: string, `signerAddress`: string, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:439](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L439)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L103)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -12142,250 +12262,192 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`target` | string | Address to remove authorization from. | +`hash` | string | Message hash that is signed. | +`signerAddress` | string | Address that should have signed the given hash. | +`signature` | string | Proof of signing. | **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:315](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L315)* +
-Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +# Class: IWalletContract -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to remove authorization from. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +## Constructors -**Returns:** *`Promise`* -The hash of the transaction -#### validateAndSendTransactionAsync +\+ **new IWalletContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[IWalletContract](#class-iwalletcontract)* -▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* +*Overrides void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:389](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L389)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L224)* **Parameters:** -Name | Type | ------- | ------ | -`target` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | IWalletContract.deployedBytecode | -___ +**Returns:** *[IWalletContract](#class-iwalletcontract)* -### removeAuthorizedAddressAtIndex +## Properties -#### ▪ **removeAuthorizedAddressAtIndex**: *object* +#### abi -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:548](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L548)* +• **abi**: *[ContractAbi](#contractabi)* -Removes authorizion of an address. -#### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +Defined in base-contract/lib/src/index.d.ts:27 -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:594](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L594)* +___ -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +### address -**Parameters:** +• **address**: *string* -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | -**Returns:** *`PromiseWithTransactionHash`* -A promise that resolves when the transaction is successful +Defined in base-contract/lib/src/index.d.ts:28 -#### callAsync +___ -▸ **callAsync**(`target`: string, `index`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +Args -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:675](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L675)* +• **constructorArgs**: *any[]* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. -**Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`target` | string | - | Address to remove authorization from. | -`index` | `BigNumber` | - | Index of target in authorities array. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Defined in base-contract/lib/src/index.d.ts:30 -**Returns:** *`Promise`* +___ -#### estimateGasAsync +### contractName -▸ **estimateGasAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +• **contractName**: *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:628](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L628)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. -**Parameters:** +Defined in base-contract/lib/src/index.d.ts:29 -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +___ -**Returns:** *`Promise`* +### `Static` deployedBytecode -The hash of the transaction +▪ **deployedBytecode**: *string | undefined* -#### getABIDecodedReturnData +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L31)* -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +## Methods -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:751](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L751)* +### evmExecAsync -Decode the ABI-encoded return data from a transaction +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | -**Returns:** *void* +Defined in base-contract/lib/src/index.d.ts:42 -An array representing the output results in order. Keynames of nested structs are preserved. +**Parameters:** -#### getABIDecodedTransactionData +Name | Type | +------ | ------ | +`input` | `Buffer` | -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* +**Returns:** *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:739](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L739)* +___ -Decode the ABI-encoded transaction data into its input arguments +### `Static` ABI -**Parameters:** +▸ **ABI**(): *[ContractAbi](#contractabi)* -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L197)* -**Returns:** *[string, `BigNumber`]* +**Returns:** *[ContractAbi](#contractabi)* -An array representing the input arguments in order. Keynames of nested structs are preserved. +The contract ABI -#### getABIEncodedTransactionData +___ -▸ **getABIEncodedTransactionData**(`target`: string, `index`: `BigNumber`): *string* +### `Static` deployAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:724](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L724)* +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:155](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L155)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | - -**Returns:** *string* +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | -The ABI encoded transaction data as a string +**Returns:** *`Promise`* -#### sendTransactionAsync +___ -▸ **sendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +### `Static` deployFrom0xArtifactAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L557)* +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`target` | string | Address to remove authorization from. | -`index` | `BigNumber` | Index of target in authorities array. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:655](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L655)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L130)* **Parameters:** Name | Type | ------ | ------ | -`target` | string | -`index` | `BigNumber` | -`txData?` | `Partial` \| undefined | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ -### transferOwnership +### `Static` strictArgumentEncodingCheck -#### ▪ **transferOwnership**: *object* +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:984](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L984)* -#### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +Defined in base-contract/lib/src/index.d.ts:41 -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1018](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1018)* +**Parameters:** -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | -**Parameters:** +**Returns:** *string* -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +## Object literals -**Returns:** *`PromiseWithTransactionHash`* +### isValidSignature -A promise that resolves when the transaction is successful +#### ▪ **isValidSignature**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L35)* + +Validates a hash with the `Wallet` signature type. #### callAsync -▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`hash`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1073](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1073)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L44)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -12393,38 +12455,22 @@ since they don't modify state. **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`newOwner` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1044](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1044)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`hash` | string | - | Message hash that is signed. | +`signature` | string | - | Proof of signing. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -The hash of the transaction +magicValue `bytes4(0xb0671381)` if the signature check succeeds. #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1136)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L122)* Decode the ABI-encoded return data from a transaction @@ -12434,15 +12480,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1124)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:110](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L110)* Decode the ABI-encoded transaction data into its input arguments @@ -12452,15 +12498,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* +▸ **getABIEncodedTransactionData**(`hash`: string, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1111)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L95)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -12468,74 +12514,41 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | ------- | ------ | -`newOwner` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:991](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L991)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - Name | Type | Description | ------ | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1063](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1063)* - -**Parameters:** +`hash` | string | Message hash that is signed. | +`signature` | string | Proof of signing. | -Name | Type | ------- | ------ | -`newOwner` | string | -`txData?` | `Partial` \| undefined | +**Returns:** *string* -**Returns:** *`Promise`* +The ABI encoded transaction data as a string
-# Class: ERC721TokenContract +# Class: WETH9Contract ## Constructors -\+ **new ERC721TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ERC721TokenContract](#class-erc721tokencontract)* +\+ **new WETH9Contract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[WETH9Contract](#class-weth9contract)* *Overrides void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1961](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1961)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1877](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1877)* **Parameters:** -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | WETH9Contract.deployedBytecode | -**Returns:** *[ERC721TokenContract](#class-erc721tokencontract)* +**Returns:** *[WETH9Contract](#class-weth9contract)* ## Properties @@ -12545,7 +12558,7 @@ Name | Type | -Defined in base-contract/lib/src/index.d.ts:25 +Defined in base-contract/lib/src/index.d.ts:27 ___ @@ -12555,7 +12568,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:26 +Defined in base-contract/lib/src/index.d.ts:28 ___ @@ -12565,7 +12578,7 @@ Args -Defined in base-contract/lib/src/index.d.ts:28 +Defined in base-contract/lib/src/index.d.ts:30 ___ @@ -12575,7 +12588,15 @@ ___ -Defined in base-contract/lib/src/index.d.ts:27 +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x6080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a723058201ebe888a6b56dd871f599adbe0f19ec3c29c28aec0685788dfac9b37a99fc9d20029" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:67](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L67)* ## Methods @@ -12585,7 +12606,7 @@ Defined in base-contract/lib/src/index.d.ts:27 -Defined in base-contract/lib/src/index.d.ts:38 +Defined in base-contract/lib/src/index.d.ts:42 **Parameters:** @@ -12599,21 +12620,21 @@ ___ ### getLogsAsync -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC721TokenEvents](#enumeration-erc721tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [WETH9Events](#enumeration-weth9events), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1945](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1945)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1861](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1861)* Gets historical logs without creating a subscription **Type parameters:** -▪ **ArgsType**: *[ERC721TokenEventArgs](#erc721tokeneventargs)* +▪ **ArgsType**: *[WETH9EventArgs](#weth9eventargs)* **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`eventName` | [ERC721TokenEvents](#enumeration-erc721tokenevents) | The ERC721Token contract event you would like to subscribe to. | +`eventName` | [WETH9Events](#enumeration-weth9events) | The WETH9 contract event you would like to subscribe to. | `blockRange` | `BlockRange` | Block range to get logs from. | `indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | @@ -12625,21 +12646,21 @@ ___ ### subscribe -▸ **subscribe**<**ArgsType**>(`eventName`: [ERC721TokenEvents](#enumeration-erc721tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* +▸ **subscribe**<**ArgsType**>(`eventName`: [WETH9Events](#enumeration-weth9events), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1903](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1903)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1819](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1819)* -Subscribe to an event type emitted by the ERC721Token contract. +Subscribe to an event type emitted by the WETH9 contract. **Type parameters:** -▪ **ArgsType**: *[ERC721TokenEventArgs](#erc721tokeneventargs)* +▪ **ArgsType**: *[WETH9EventArgs](#weth9eventargs)* **Parameters:** Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`eventName` | [ERC721TokenEvents](#enumeration-erc721tokenevents) | - | The ERC721Token contract event you would like to subscribe to. | +`eventName` | [WETH9Events](#enumeration-weth9events) | - | The WETH9 contract event you would like to subscribe to. | `indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | `callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | `isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | @@ -12655,7 +12676,7 @@ ___ ▸ **unsubscribe**(`subscriptionToken`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1928](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1928)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1844](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1844)* Cancel a subscription @@ -12673,7 +12694,7 @@ ___ ▸ **unsubscribeAll**(): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1934](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1934)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1850](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1850)* Cancels all existing subscriptions @@ -12685,7 +12706,7 @@ ___ ▸ **ABI**(): *[ContractAbi](#contractabi)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1634](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1634)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1522](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1522)* **Returns:** *[ContractAbi](#contractabi)* @@ -12695,9 +12716,9 @@ ___ ### `Static` deployAsync -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1592](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1592)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1480)* **Parameters:** @@ -12709,15 +12730,15 @@ Name | Type | `txDefaults` | `Partial` | `logDecodeDependencies` | object | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ ### `Static` deployFrom0xArtifactAsync -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1567](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1567)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1455](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1455)* **Parameters:** @@ -12728,7 +12749,7 @@ Name | Type | `txDefaults` | `Partial` | `logDecodeDependencies` | object | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ @@ -12738,7 +12759,7 @@ ___ -Defined in base-contract/lib/src/index.d.ts:37 +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** @@ -12751,44 +12772,17 @@ Name | Type | ## Object literals -### approve - -#### ▪ **approve**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:157](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L157)* - -The zero address indicates there is no approved address. -Throws unless `msg.sender` is the current NFT owner, or an authorized -operator of the current owner. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:203](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L203)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_approved` | string | The new approved NFT controller | -`_tokenId` | `BigNumber` | The NFT to approve | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +### allowance -**Returns:** *`PromiseWithTransactionHash`* +#### ▪ **allowance**: *object* -A promise that resolves when the transaction is successful +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1361)* #### callAsync -▸ **callAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:276](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L276)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1367](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1367)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -12796,40 +12790,20 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_approved` | string | - | The new approved NFT controller | -`_tokenId` | `BigNumber` | - | The NFT to approve | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:233](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L233)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`_approved` | string | The new approved NFT controller | -`_tokenId` | `BigNumber` | The NFT to approve | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +`index_0` | string | - | +`index_1` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -The hash of the transaction +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:352](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L352)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1446](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1446)* Decode the ABI-encoded return data from a transaction @@ -12839,15 +12813,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:340](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L340)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1434)* Decode the ABI-encoded transaction data into its input arguments @@ -12857,15 +12831,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, `BigNumber`]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_approved`: string, `_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L325)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1419)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -12873,90 +12847,92 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`_approved` | string | The new approved NFT controller | -`_tokenId` | `BigNumber` | The NFT to approve | +Name | Type | +------ | ------ | +`index_0` | string | +`index_1` | string | **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync +___ -▸ **sendTransactionAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +### approve -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:166](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L166)* +#### ▪ **approve**: *object* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:147](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L147)* -**Parameters:** +#### awaitTransactionSuccessAsync -Name | Type | Description | ------- | ------ | ------ | -`_approved` | string | The new approved NFT controller | -`_tokenId` | `BigNumber` | The NFT to approve | -`txData?` | `Partial` \| undefined | Additional data for transaction | +▸ **awaitTransactionSuccessAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L181)* -The hash of the transaction +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. -#### validateAndSendTransactionAsync +**Parameters:** -▸ **validateAndSendTransactionAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +Name | Type | Description | +------ | ------ | ------ | +`guy` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:260](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L260)* +**Returns:** *`PromiseWithTransactionHash`* -**Parameters:** +A promise that resolves when the transaction is successful -Name | Type | ------- | ------ | -`_approved` | string | -`_tokenId` | `BigNumber` | -`txData?` | `Partial` \| undefined | +#### callAsync -**Returns:** *`Promise`* +▸ **callAsync**(`guy`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:243](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L243)* -### balanceOf +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -#### ▪ **balanceOf**: *object* +**Parameters:** -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:914](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L914)* +Name | Type | Default | +------ | ------ | ------ | +`guy` | string | - | +`wad` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -NFTs assigned to the zero address are considered invalid, and this -function throws for queries about the zero address. +**Returns:** *`Promise`* -#### callAsync +#### estimateGasAsync -▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **estimateGasAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:922](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L922)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L209)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_owner` | string | - | An address for whom to query the balance | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Name | Type | Description | +------ | ------ | ------ | +`guy` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -The number of NFTs owned by `_owner`, possibly zero +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:988](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L988)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:319](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L319)* Decode the ABI-encoded return data from a transaction @@ -12966,7 +12942,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *`BigNumber`* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. @@ -12974,7 +12950,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:976](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L976)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:307](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L307)* Decode the ABI-encoded transaction data into its input arguments @@ -12990,9 +12966,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_owner`: string): *string* +▸ **getABIEncodedTransactionData**(`guy`: string, `wad`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:965](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L965)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:292](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L292)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -13000,115 +12976,65 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`_owner` | string | An address for whom to query the balance | +Name | Type | +------ | ------ | +`guy` | string | +`wad` | `BigNumber` | **Returns:** *string* The ABI encoded transaction data as a string -___ - -### getApproved - -#### ▪ **getApproved**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L70)* - -Throws if `_tokenId` is not a valid NFT. - -#### callAsync - -▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L78)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_tokenId` | `BigNumber` | - | The NFT to find the approved address for | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -The approved address for this NFT, or the zero address if there is none - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:144](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L144)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData +#### sendTransactionAsync -▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* +▸ **sendTransactionAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L132)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:154](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L154)* -Decode the ABI-encoded transaction data into its input arguments +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *`BigNumber`* +`guy` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | -An array representing the input arguments in order. Keynames of nested structs are preserved. +**Returns:** *`Promise`* -#### getABIEncodedTransactionData +The hash of the transaction -▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* +#### validateAndSendTransactionAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:121](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L121)* +▸ **validateAndSendTransactionAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L229)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`_tokenId` | `BigNumber` | The NFT to find the approved address for | - -**Returns:** *string* +Name | Type | +------ | ------ | +`guy` | string | +`wad` | `BigNumber` | +`txData?` | `Partial` \| undefined | -The ABI encoded transaction data as a string +**Returns:** *`Promise`* ___ -### isApprovedForAll +### balanceOf -#### ▪ **isApprovedForAll**: *object* +#### ▪ **balanceOf**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1473](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1473)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:861](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L861)* #### callAsync -▸ **callAsync**(`_owner`: string, `_operator`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1482)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:867](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L867)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -13116,22 +13042,19 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_owner` | string | - | The address that owns the NFTs | -`_operator` | string | - | The address that acts on behalf of the owner | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -True if `_operator` is an approved operator for `_owner`, false otherwise +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1558](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1558)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:939](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L939)* Decode the ABI-encoded return data from a transaction @@ -13141,7 +13064,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *boolean* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. @@ -13149,7 +13072,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1546](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1546)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:927](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L927)* Decode the ABI-encoded transaction data into its input arguments @@ -13165,9 +13088,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_owner`: string, `_operator`: string): *string* +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1531](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1531)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:914](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L914)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -13175,10 +13098,9 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`_owner` | string | The address that owns the NFTs | -`_operator` | string | The address that acts on behalf of the owner | +Name | Type | +------ | ------ | +`index_0` | string | **Returns:** *string* @@ -13186,20 +13108,17 @@ The ABI encoded transaction data as a string ___ -### ownerOf - -#### ▪ **ownerOf**: *object* +### decimals -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:828](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L828)* +#### ▪ **decimals**: *object* -NFTs assigned to zero address are considered invalid, and queries -about them do throw. +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:783](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L783)* #### callAsync -▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:836](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L836)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:789](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L789)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -13207,21 +13126,18 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_tokenId` | `BigNumber` | - | The identifier for an NFT | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -The address of the owner of the NFT +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *number* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:902](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L902)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:853](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L853)* Decode the ABI-encoded return data from a transaction @@ -13231,15 +13147,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *number* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:890](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L890)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:841](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L841)* Decode the ABI-encoded transaction data into its input arguments @@ -13249,46 +13165,37 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`BigNumber`* +**Returns:** *void* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:879](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L879)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:831](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L831)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_tokenId` | `BigNumber` | The identifier for an NFT | - **Returns:** *string* The ABI encoded transaction data as a string ___ -### safeTransferFrom1 - -#### ▪ **safeTransferFrom1**: *object* +### deposit -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:597](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L597)* +#### ▪ **deposit**: *object* -This works identically to the other function with an extra data parameter, -except this function just sets data to "". +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1205](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1205)* #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:648](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L648)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1237](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1237)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -13297,9 +13204,6 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -13310,9 +13214,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:734](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L734)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1289)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -13320,21 +13224,18 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_from` | string | - | The current owner of the NFT | -`_to` | string | - | The new owner | -`_tokenId` | `BigNumber` | - | The NFT to transfer | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | **Returns:** *`Promise`* #### estimateGasAsync -▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:686](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L686)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1261](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1261)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -13342,9 +13243,6 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -13355,7 +13253,7 @@ The hash of the transaction ▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:816](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L816)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1353)* Decode the ABI-encoded return data from a transaction @@ -13371,9 +13269,9 @@ An array representing the output results in order. Keynames of nested structs a #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:804](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L804)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1341)* Decode the ABI-encoded transaction data into its input arguments @@ -13383,37 +13281,29 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string, `BigNumber`]* +**Returns:** *void* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:787](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L787)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1331)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | - **Returns:** *string* The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:607](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L607)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1212)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -13422,9 +13312,6 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -13433,67 +13320,31 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:716](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L716)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1279)* **Parameters:** Name | Type | ------ | ------ | -`_from` | string | -`_to` | string | -`_tokenId` | `BigNumber` | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### safeTransferFrom2 - -#### ▪ **safeTransferFrom2**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1216](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1216)* - -Throws unless `msg.sender` is the current owner, an authorized -operator, or the approved address for this NFT. Throws if `_from` is -not the current owner. Throws if `_to` is the zero address. Throws if -`_tokenId` is not a valid NFT. When transfer is complete, this function -checks if `_to` is a smart contract (code size > 0). If so, it calls -`onERC721Received` on `_to` and throws if the return value is not -`bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1278](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1278)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`_data` | string | Additional data with no specified format, sent in call to `_to` | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +### name -**Returns:** *`PromiseWithTransactionHash`* +#### ▪ **name**: *object* -A promise that resolves when the transaction is successful +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:69](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L69)* #### callAsync -▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1379](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1379)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L75)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -13501,44 +13352,18 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_from` | string | - | The current owner of the NFT | -`_to` | string | - | The new owner | -`_tokenId` | `BigNumber` | - | The NFT to transfer | -`_data` | string | - | Additional data with no specified format, sent in call to `_to` | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1320](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1320)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`_data` | string | Additional data with no specified format, sent in call to `_to` | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -The hash of the transaction +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1465](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1465)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:139](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L139)* Decode the ABI-encoded return data from a transaction @@ -13548,15 +13373,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`, string]* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1453](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1453)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:127](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L127)* Decode the ABI-encoded transaction data into its input arguments @@ -13566,154 +13391,133 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string, `BigNumber`, string]* +**Returns:** *void* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string): *string* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1436](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1436)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L117)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`_data` | string | Additional data with no specified format, sent in call to `_to` | - **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync +___ -▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* +### symbol -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1227](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1227)* +#### ▪ **symbol**: *object* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:947](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L947)* -**Parameters:** +#### callAsync -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | -`_data` | string | Additional data with no specified format, sent in call to `_to` | -`txData?` | `Partial` \| undefined | Additional data for transaction | +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:953](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L953)* -The hash of the transaction +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -#### validateAndSendTransactionAsync +**Parameters:** -▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1353)* +**Returns:** *`Promise`* -**Parameters:** +#### getABIDecodedReturnData -Name | Type | ------- | ------ | -`_from` | string | -`_to` | string | -`_tokenId` | `BigNumber` | -`_data` | string | -`txData?` | `Partial` \| undefined | +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1017](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1017)* -___ +Decode the ABI-encoded return data from a transaction -### setApprovalForAll +**Parameters:** -#### ▪ **setApprovalForAll**: *object* +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1000](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1000)* +**Returns:** *string* -Emits the ApprovalForAll event. The contract MUST allow -multiple operators per owner. +An array representing the output results in order. Keynames of nested structs are preserved. -#### awaitTransactionSuccessAsync +#### getABIDecodedTransactionData -▸ **awaitTransactionSuccessAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1046](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1046)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1005](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1005)* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +Decode the ABI-encoded transaction data into its input arguments **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`_operator` | string | Address to add to the set of authorized operators | -`_approved` | boolean | True if the operator is approved, false to revoke approval | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +`callData` | string | The ABI-encoded transaction data | -**Returns:** *`PromiseWithTransactionHash`* +**Returns:** *void* -A promise that resolves when the transaction is successful +An array representing the input arguments in order. Keynames of nested structs are preserved. -#### callAsync +#### getABIEncodedTransactionData -▸ **callAsync**(`_operator`: string, `_approved`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1123)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:995](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L995)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). -**Parameters:** +**Returns:** *string* -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_operator` | string | - | Address to add to the set of authorized operators | -`_approved` | boolean | - | True if the operator is approved, false to revoke approval | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +The ABI encoded transaction data as a string -**Returns:** *`Promise`* +___ -#### estimateGasAsync +### totalSupply -▸ **estimateGasAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* +#### ▪ **totalSupply**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1080](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1080)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:327](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L327)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:333](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L333)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`_operator` | string | Address to add to the set of authorized operators | -`_approved` | boolean | True if the operator is approved, false to revoke approval | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -The hash of the transaction +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1199](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1199)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:397](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L397)* Decode the ABI-encoded return data from a transaction @@ -13723,15 +13527,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1187](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1187)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:385](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L385)* Decode the ABI-encoded transaction data into its input arguments @@ -13741,86 +13545,37 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, boolean]* +**Returns:** *void* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_operator`: string, `_approved`: boolean): *string* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1172](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1172)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L375)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_operator` | string | Address to add to the set of authorized operators | -`_approved` | boolean | True if the operator is approved, false to revoke approval | - **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1009](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1009)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_operator` | string | Address to add to the set of authorized operators | -`_approved` | boolean | True if the operator is approved, false to revoke approval | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1107)* - -**Parameters:** - -Name | Type | ------- | ------ | -`_operator` | string | -`_approved` | boolean | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - ___ -### transferFrom - -#### ▪ **transferFrom**: *object* +### transfer -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:366](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L366)* +#### ▪ **transfer**: *object* -Throws unless `msg.sender` is the current owner, an authorized -operator, or the approved address for this NFT. Throws if `_from` is -not the current owner. Throws if `_to` is the zero address. Throws if -`_tokenId` is not a valid NFT. +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1025](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1025)* #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L417)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1059](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1059)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -13829,9 +13584,8 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | +`dst` | string | - | +`wad` | `BigNumber` | - | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -13842,9 +13596,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`dst`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:503](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L503)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1121)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -13852,21 +13606,20 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_from` | string | - | The current owner of the NFT | -`_to` | string | - | The new owner | -`_tokenId` | `BigNumber` | - | The NFT to transfer | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Name | Type | Default | +------ | ------ | ------ | +`dst` | string | - | +`wad` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* #### estimateGasAsync -▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:455](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L455)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1087](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1087)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -13874,9 +13627,8 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | +`dst` | string | - | +`wad` | `BigNumber` | - | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -13885,9 +13637,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:585](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L585)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1197)* Decode the ABI-encoded return data from a transaction @@ -13897,15 +13649,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:573](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L573)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1185](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1185)* Decode the ABI-encoded transaction data into its input arguments @@ -13915,15 +13667,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[string, string, `BigNumber`]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* +▸ **getABIEncodedTransactionData**(`dst`: string, `wad`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:556](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L556)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1170)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -13931,11 +13683,10 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | +Name | Type | +------ | ------ | +`dst` | string | +`wad` | `BigNumber` | **Returns:** *string* @@ -13943,9 +13694,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:376](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L376)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1032](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1032)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -13954,9 +13705,8 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`_from` | string | The current owner of the NFT | -`_to` | string | The new owner | -`_tokenId` | `BigNumber` | The NFT to transfer | +`dst` | string | - | +`wad` | `BigNumber` | - | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -13965,293 +13715,266 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:485](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L485)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1107)* **Parameters:** Name | Type | ------ | ------ | -`_from` | string | -`_to` | string | -`_tokenId` | `BigNumber` | +`dst` | string | +`wad` | `BigNumber` | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* -
- -# Class: ExchangeContract +___ +### transferFrom -## Constructors +#### ▪ **transferFrom**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:405](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L405)* +#### awaitTransactionSuccessAsync -\+ **new ExchangeContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ExchangeContract](#class-exchangecontract)* +▸ **awaitTransactionSuccessAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Overrides void* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L449)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9704](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9704)* +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. **Parameters:** -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | +Name | Type | Description | +------ | ------ | ------ | +`src` | string | - | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -**Returns:** *[ExchangeContract](#class-exchangecontract)* +**Returns:** *`PromiseWithTransactionHash`* -## Properties +A promise that resolves when the transaction is successful -#### abi +#### callAsync -• **abi**: *[ContractAbi](#contractabi)* +▸ **callAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:529](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L529)* +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -Defined in base-contract/lib/src/index.d.ts:25 +**Parameters:** -___ +Name | Type | Default | +------ | ------ | ------ | +`src` | string | - | +`dst` | string | - | +`wad` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -### address +**Returns:** *`Promise`* -• **address**: *string* +#### estimateGasAsync +▸ **estimateGasAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:484](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L484)* -Defined in base-contract/lib/src/index.d.ts:26 +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. -___ +**Parameters:** -Args +Name | Type | Description | +------ | ------ | ------ | +`src` | string | - | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | -• **constructorArgs**: *any[]* +**Returns:** *`Promise`* +The hash of the transaction +#### getABIDecodedReturnData -Defined in base-contract/lib/src/index.d.ts:28 +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:613](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L613)* -### contractName +Decode the ABI-encoded return data from a transaction -• **contractName**: *string* +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | +**Returns:** *boolean* -Defined in base-contract/lib/src/index.d.ts:27 +An array representing the output results in order. Keynames of nested structs are preserved. -## Methods +#### getABIDecodedTransactionData -### evmExecAsync +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:601](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L601)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`src`: string, `dst`: string, `wad`: `BigNumber`): *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:584](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L584)* -Defined in base-contract/lib/src/index.d.ts:38 +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). **Parameters:** Name | Type | ------ | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ +`src` | string | +`dst` | string | +`wad` | `BigNumber` | -### getLogsAsync +**Returns:** *string* -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ExchangeEvents](#enumeration-exchangeevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* +The ABI encoded transaction data as a string -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9688](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9688)* +#### sendTransactionAsync -Gets historical logs without creating a subscription +▸ **sendTransactionAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -**Type parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:412](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L412)* -▪ **ArgsType**: *[ExchangeEventArgs](#exchangeeventargs)* +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`eventName` | [ExchangeEvents](#enumeration-exchangeevents) | The Exchange contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | +`src` | string | - | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise>>`* +**Returns:** *`Promise`* -Array of logs that match the parameters +The hash of the transaction -___ +#### validateAndSendTransactionAsync -### subscribe +▸ **validateAndSendTransactionAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -▸ **subscribe**<**ArgsType**>(`eventName`: [ExchangeEvents](#enumeration-exchangeevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:514](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L514)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9646](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9646)* +**Parameters:** -Subscribe to an event type emitted by the Exchange contract. +Name | Type | +------ | ------ | +`src` | string | +`dst` | string | +`wad` | `BigNumber` | +`txData?` | `Partial` \| undefined | -**Type parameters:** +**Returns:** *`Promise`* -▪ **ArgsType**: *[ExchangeEventArgs](#exchangeeventargs)* +___ -**Parameters:** +### withdraw -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [ExchangeEvents](#enumeration-exchangeevents) | - | The Exchange contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | - -**Returns:** *string* - -Subscription token used later to unsubscribe +#### ▪ **withdraw**: *object* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:621](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L621)* -### unsubscribe +#### awaitTransactionSuccessAsync -▸ **unsubscribe**(`subscriptionToken`: string): *void* +▸ **awaitTransactionSuccessAsync**(`wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9671](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9671)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:654](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L654)* -Cancel a subscription +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | - -**Returns:** *void* - -___ - -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9677](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9677)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7661](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7661)* - -**Returns:** *[ContractAbi](#contractabi)* - -The contract ABI - -___ - -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_zrxAssetData`: string): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7614](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7614)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_zrxAssetData` | string | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_zrxAssetData`: string): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7581](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7581)* - -**Parameters:** - -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_zrxAssetData` | string | - -**Returns:** *`Promise`* +`wad` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | -___ +**Returns:** *`PromiseWithTransactionHash`* -### `Static` strictArgumentEncodingCheck +A promise that resolves when the transaction is successful -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* +#### callAsync +▸ **callAsync**(`wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:709](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L709)* -Defined in base-contract/lib/src/index.d.ts:37 +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### EIP712_DOMAIN_HASH - -#### ▪ **EIP712_DOMAIN_HASH**: *object* +Name | Type | Default | +------ | ------ | ------ | +`wad` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6829](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6829)* +**Returns:** *`Promise`* -#### callAsync +#### estimateGasAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **estimateGasAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6835](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6835)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:680](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L680)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. **Parameters:** -Name | Type | Default | +Name | Type | Description | ------ | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6894](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6894)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:775](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L775)* Decode the ABI-encoded return data from a transaction @@ -14261,15 +13984,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *void* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6882](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6882)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:763](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L763)* Decode the ABI-encoded transaction data into its input arguments @@ -14279,277 +14002,325 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +**Returns:** *[`BigNumber`]* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(): *string* +▸ **getABIEncodedTransactionData**(`wad`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6872](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6872)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:752](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L752)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ +**Parameters:** -### VERSION +Name | Type | +------ | ------ | +`wad` | `BigNumber` | -#### ▪ **VERSION**: *object* +**Returns:** *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7507](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7507)* +The ABI encoded transaction data as a string -#### callAsync +#### sendTransactionAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **sendTransactionAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7513](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7513)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L628)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. **Parameters:** -Name | Type | Default | +Name | Type | Description | ------ | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* -#### getABIDecodedReturnData +The hash of the transaction -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +#### validateAndSendTransactionAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7572](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7572)* +▸ **validateAndSendTransactionAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -Decode the ABI-encoded return data from a transaction +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:699](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L699)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +Name | Type | +------ | ------ | +`wad` | `BigNumber` | +`txData?` | `Partial` \| undefined | -**Returns:** *string* +**Returns:** *`Promise`* -An array representing the output results in order. Keynames of nested structs are preserved. +
-#### getABIDecodedTransactionData +# Class: ZRXTokenContract -▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7560](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7560)* +## Constructors + -Decode the ABI-encoded transaction data into its input arguments + +\+ **new ZRXTokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ZRXTokenContract](#class-zrxtokencontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1512](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1512)* **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ZRXTokenContract.deployedBytecode | -An array representing the input arguments in order. Keynames of nested structs are preserved. +**Returns:** *[ZRXTokenContract](#class-zrxtokencontract)* -#### getABIEncodedTransactionData +## Properties -▸ **getABIEncodedTransactionData**(): *string* +#### abi -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7550](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7550)* +• **abi**: *[ContractAbi](#contractabi)* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). -**Returns:** *string* -The ABI encoded transaction data as a string +Defined in base-contract/lib/src/index.d.ts:27 ___ -### ZRX_ASSET_DATA +### address -#### ▪ **ZRX_ASSET_DATA**: *object* +• **address**: *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6383)* -#### callAsync -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +Defined in base-contract/lib/src/index.d.ts:28 -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6389](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6389)* +___ -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Args -**Parameters:** +• **constructorArgs**: *any[]* -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* -#### getABIDecodedReturnData +Defined in base-contract/lib/src/index.d.ts:30 -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6448](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6448)* +### contractName -Decode the ABI-encoded return data from a transaction +• **contractName**: *string* -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | -**Returns:** *string* +Defined in base-contract/lib/src/index.d.ts:29 -An array representing the output results in order. Keynames of nested structs are preserved. +___ -#### getABIDecodedTransactionData +### `Static` deployedBytecode -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▪ **deployedBytecode**: *string* = "0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a72305820d984298155c708a8164f1cbf83c7275bcc6851dd082c0404013c1f4463b238fa0029" -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6436](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6436)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L51)* -Decode the ABI-encoded transaction data into its input arguments +## Methods -**Parameters:** +### evmExecAsync -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* -**Returns:** *void* -An array representing the input arguments in order. Keynames of nested structs are preserved. -#### getABIEncodedTransactionData +Defined in base-contract/lib/src/index.d.ts:42 -▸ **getABIEncodedTransactionData**(): *string* +**Parameters:** -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6426)* +Name | Type | +------ | ------ | +`input` | `Buffer` | -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string +**Returns:** *`Promise`* ___ -### allowedValidators - -#### ▪ **allowedValidators**: *object* +### getLogsAsync -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3783](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3783)* +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ZRXTokenEvents](#enumeration-zrxtokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* -#### callAsync +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1496](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1496)* -▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +Gets historical logs without creating a subscription -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3789](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3789)* +**Type parameters:** -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +▪ **ArgsType**: *[ZRXTokenEventArgs](#zrxtokeneventargs)* **Parameters:** -Name | Type | Default | +Name | Type | Description | ------ | ------ | ------ | -`index_0` | string | - | -`index_1` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +`eventName` | [ZRXTokenEvents](#enumeration-zrxtokenevents) | The ZRXToken contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | -**Returns:** *`Promise`* +**Returns:** *`Promise>>`* -#### getABIDecodedReturnData +Array of logs that match the parameters -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3863](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3863)* +### subscribe -Decode the ABI-encoded return data from a transaction +▸ **subscribe**<**ArgsType**>(`eventName`: [ZRXTokenEvents](#enumeration-zrxtokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1454](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1454)* + +Subscribe to an event type emitted by the ZRXToken contract. + +**Type parameters:** + +▪ **ArgsType**: *[ZRXTokenEventArgs](#zrxtokeneventargs)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ZRXTokenEvents](#enumeration-zrxtokenevents) | - | The ZRXToken contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | -**Returns:** *boolean* +**Returns:** *string* -An array representing the output results in order. Keynames of nested structs are preserved. +Subscription token used later to unsubscribe -#### getABIDecodedTransactionData +___ -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +### unsubscribe -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3851](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3851)* +▸ **unsubscribe**(`subscriptionToken`: string): *void* -Decode the ABI-encoded transaction data into its input arguments +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1479)* + +Cancel a subscription **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | -**Returns:** *string* +**Returns:** *void* -An array representing the input arguments in order. Keynames of nested structs are preserved. +___ -#### getABIEncodedTransactionData +### unsubscribeAll -▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* +▸ **unsubscribeAll**(): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3836](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3836)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1485](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1485)* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1226](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1226)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1184)* **Parameters:** Name | Type | ------ | ------ | -`index_0` | string | -`index_1` | string | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | -**Returns:** *string* +**Returns:** *`Promise`* -The ABI encoded transaction data as a string +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1159)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* ___ -### assetProxies +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### allowance -#### ▪ **assetProxies**: *object* +#### ▪ **allowance**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1715](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1715)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1065](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1065)* #### callAsync -▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1721](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1721)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1071](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1071)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -14559,17 +14330,18 @@ since they don't modify state. Name | Type | Default | ------ | ------ | ------ | -`index_0` | string | - | +`_owner` | string | - | +`_spender` | string | - | `callData` | `Partial` | {} | `defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1782](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1782)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1150](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1150)* Decode the ABI-encoded return data from a transaction @@ -14579,7 +14351,7 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *string* +**Returns:** *`BigNumber`* An array representing the output results in order. Keynames of nested structs are preserved. @@ -14587,7 +14359,7 @@ An array representing the output results in order. Keynames of nested structs a ▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1770](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1770)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1138](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1138)* Decode the ABI-encoded transaction data into its input arguments @@ -14603,9 +14375,9 @@ An array representing the input arguments in order. Keynames of nested structs a #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`index_0`: string): *string* +▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1759](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1759)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1123)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -14615,7 +14387,8 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | ------ | ------ | -`index_0` | string | +`_owner` | string | +`_spender` | string | **Returns:** *string* @@ -14623,19 +14396,17 @@ The ABI encoded transaction data as a string ___ -### batchCancelOrders - -#### ▪ **batchCancelOrders**: *object* +### approve -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1793](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1793)* +#### ▪ **approve**: *object* -Synchronously cancels multiple orders in a single transaction. +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L131)* #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1848](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1848)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:172](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L172)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -14644,7 +14415,8 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | +`_spender` | string | - | +`_value` | `BigNumber` | - | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -14655,9 +14427,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`orders`: `Array`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1953](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1953)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:241](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L241)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -14665,19 +14437,20 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Name | Type | Default | +------ | ------ | ------ | +`_spender` | string | - | +`_value` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* #### estimateGasAsync -▸ **estimateGasAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1888](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1888)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:200](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L200)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -14685,7 +14458,8 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | +`_spender` | string | - | +`_value` | `BigNumber` | - | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -14694,9 +14468,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2091](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2091)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:320](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L320)* Decode the ABI-encoded return data from a transaction @@ -14706,15 +14480,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2043](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2043)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:308](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L308)* Decode the ABI-encoded transaction data into its input arguments @@ -14724,15 +14498,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[`Array`]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`orders`: `Array`): *string* +▸ **getABIEncodedTransactionData**(`_spender`: string, `_value`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2014](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2014)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:293](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L293)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -14740,9 +14514,10 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | +Name | Type | +------ | ------ | +`_spender` | string | +`_value` | `BigNumber` | **Returns:** *string* @@ -14750,9 +14525,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1801](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1801)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:138](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L138)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -14761,7 +14536,8 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | +`_spender` | string | - | +`_value` | `BigNumber` | - | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -14770,103 +14546,136 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1926](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1926)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:227](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L227)* **Parameters:** Name | Type | ------ | ------ | -`orders` | `Array` | +`_spender` | string | +`_value` | `BigNumber` | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### batchFillOrKillOrders - -#### ▪ **batchFillOrKillOrders**: *object* +### balanceOf -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2104)* +#### ▪ **balanceOf**: *object* -Synchronously executes multiple calls of fillOrKill. +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:719](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L719)* -#### awaitTransactionSuccessAsync +#### callAsync -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2169](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2169)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:725](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L725)* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +`_owner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`PromiseWithTransactionHash`* +**Returns:** *`Promise`* -A promise that resolves when the transaction is successful +#### getABIDecodedReturnData -#### callAsync +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:795](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L795)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2301](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2301)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Decode the ABI-encoded return data from a transaction **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | - | Proofs that orders have been created by makers. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -**Returns:** *`Promise`* +**Returns:** *`BigNumber`* -Amounts filled and fees paid by makers and taker. NOTE: makerAssetFilledAmount and takerAssetFilledAmount may include amounts filled of different assets. +An array representing the output results in order. Keynames of nested structs are preserved. -#### estimateGasAsync +#### getABIDecodedTransactionData -▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2221](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2221)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:783](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L783)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +Decode the ABI-encoded transaction data into its input arguments **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +`callData` | string | The ABI-encoded transaction data | -**Returns:** *`Promise`* +**Returns:** *string* -The hash of the transaction +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:772](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L772)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`_owner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decimals + +#### ▪ **decimals**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L641)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:647](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L647)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *object* +▸ **getABIDecodedReturnData**(`returnData`: string): *number* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2456](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2456)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:711](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L711)* Decode the ABI-encoded return data from a transaction @@ -14876,15 +14685,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *object* +**Returns:** *number* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2412](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2412)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:699](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L699)* Decode the ABI-encoded transaction data into its input arguments @@ -14894,155 +14703,133 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`Array`* +**Returns:** *void* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2379](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2379)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L689)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | - **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync +___ -▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +### name -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2115](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2115)* +#### ▪ **name**: *object* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L53)* -**Parameters:** +#### callAsync -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L59)* -The hash of the transaction +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. -#### validateAndSendTransactionAsync +**Parameters:** -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2263](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2263)* +**Returns:** *`Promise`* -**Parameters:** +#### getABIDecodedReturnData -Name | Type | ------- | ------ | -`orders` | `Array` | -`takerAssetFillAmounts` | `BigNumber`[] | -`signatures` | string[] | -`txData?` | `Partial` \| undefined | +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -**Returns:** *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L123)* -___ +Decode the ABI-encoded return data from a transaction -### batchFillOrders +**Parameters:** -#### ▪ **batchFillOrders**: *object* +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:175](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L175)* +**Returns:** *string* -Synchronously executes multiple calls of fillOrder. +An array representing the output results in order. Keynames of nested structs are preserved. -#### awaitTransactionSuccessAsync +#### getABIDecodedTransactionData -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:240](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L240)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L111)* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +Decode the ABI-encoded transaction data into its input arguments **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +`callData` | string | The ABI-encoded transaction data | -**Returns:** *`PromiseWithTransactionHash`* +**Returns:** *void* -A promise that resolves when the transaction is successful +An array representing the input arguments in order. Keynames of nested structs are preserved. -#### callAsync +#### getABIEncodedTransactionData -▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:372](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L372)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:101](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L101)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). -**Parameters:** +**Returns:** *string* -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | - | Proofs that orders have been created by makers. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +The ABI encoded transaction data as a string -**Returns:** *`Promise`* +___ + +### symbol -Amounts filled and fees paid by makers and taker. NOTE: makerAssetFilledAmount and takerAssetFilledAmount may include amounts filled of different assets. +#### ▪ **symbol**: *object* -#### estimateGasAsync +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:803](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L803)* -▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L292)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:809](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L809)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -The hash of the transaction +**Returns:** *`Promise`* #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *object* +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:527](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L527)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:873](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L873)* Decode the ABI-encoded return data from a transaction @@ -15052,15 +14839,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *object* +**Returns:** *string* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:483](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L483)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:861](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L861)* Decode the ABI-encoded transaction data into its input arguments @@ -15070,87 +14857,114 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`Array`* +**Returns:** *void* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* +▸ **getABIEncodedTransactionData**(): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:450](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L450)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:851](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L851)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used to create a 0x transaction (see protocol spec for more details). -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | - **Returns:** *string* The ABI encoded transaction data as a string -#### sendTransactionAsync +___ -▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +### totalSupply -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:186](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L186)* +#### ▪ **totalSupply**: *object* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L328)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:334](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L334)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -The hash of the transaction +#### getABIDecodedReturnData -#### validateAndSendTransactionAsync +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L398)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L334)* +Decode the ABI-encoded return data from a transaction **Parameters:** -Name | Type | ------- | ------ | -`orders` | `Array` | -`takerAssetFillAmounts` | `BigNumber`[] | -`signatures` | string[] | -`txData?` | `Partial` \| undefined | +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | -**Returns:** *`Promise`* +**Returns:** *`BigNumber`* -___ +An array representing the output results in order. Keynames of nested structs are preserved. -### batchFillOrdersNoThrow +#### getABIDecodedTransactionData -#### ▪ **batchFillOrdersNoThrow**: *object* +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:386](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L386)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:376](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L376)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2663](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2663)* +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### transfer + +#### ▪ **transfer**: *object* -Fills an order with specified parameters and ECDSA signature. -Returns false if the transaction would otherwise revert. +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:881](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L881)* #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2728](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2728)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:919](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L919)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -15159,9 +14973,8 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | +`_to` | string | - | +`_value` | `BigNumber` | - | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -15172,9 +14985,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2860](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2860)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:981](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L981)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -15182,23 +14995,20 @@ since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | - | Proofs that orders have been created by makers. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* +Name | Type | Default | +------ | ------ | ------ | +`_to` | string | - | +`_value` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | -Amounts filled and fees paid by makers and taker. NOTE: makerAssetFilledAmount and takerAssetFilledAmount may include amounts filled of different assets. +**Returns:** *`Promise`* #### estimateGasAsync -▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2780](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2780)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:947](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L947)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -15206,9 +15016,8 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | +`_to` | string | - | +`_value` | `BigNumber` | - | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -15217,9 +15026,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *object* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3015](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3015)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1057](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1057)* Decode the ABI-encoded return data from a transaction @@ -15229,15 +15038,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *object* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2971](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2971)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1045](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1045)* Decode the ABI-encoded transaction data into its input arguments @@ -15247,15 +15056,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *`Array`* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* +▸ **getABIEncodedTransactionData**(`_to`: string, `_value`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2938](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2938)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1030](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1030)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -15263,11 +15072,10 @@ to create a 0x transaction (see protocol spec for more details). **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | +Name | Type | +------ | ------ | +`_to` | string | +`_value` | `BigNumber` | **Returns:** *string* @@ -15275,9 +15083,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2674](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2674)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:888](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L888)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -15286,9 +15094,8 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | -`signatures` | string[] | Proofs that orders have been created by makers. | +`_to` | string | - | +`_value` | `BigNumber` | - | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -15297,37 +15104,35 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2822](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2822)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:967](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L967)* **Parameters:** Name | Type | ------ | ------ | -`orders` | `Array` | -`takerAssetFillAmounts` | `BigNumber`[] | -`signatures` | string[] | +`_to` | string | +`_value` | `BigNumber` | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* ___ -### cancelOrder +### transferFrom -#### ▪ **cancelOrder**: *object* +#### ▪ **transferFrom**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5994](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5994)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:409](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L409)* -After calling, the order can not be filled anymore. -Throws if order is invalid or sender does not have permission to cancel. +ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. #### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`order`: object, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6048](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6048)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:459](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L459)* Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. If the transaction was mined, but reverted, an error is thrown. @@ -15336,7 +15141,9 @@ If the transaction was mined, but reverted, an error is thrown. Name | Type | Description | ------ | ------ | ------ | -`order` | object | Order to cancel. Order must be OrderStatus.FILLABLE. | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | `txData?` | `Partial` | Additional data for transaction | `pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | `timeoutMs?` | undefined \| number | - | @@ -15347,9 +15154,9 @@ A promise that resolves when the transaction is successful #### callAsync -▸ **callAsync**(`order`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **callAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6151](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6151)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:546](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L546)* Sends a read-only call to the contract method. Returns the result that would happen if one were to send an Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -15359,17 +15166,21 @@ since they don't modify state. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`order` | object | - | Order to cancel. Order must be OrderStatus.FILLABLE. | +`_from` | string | - | Address to transfer from. | +`_to` | string | - | Address to transfer to. | +`_value` | `BigNumber` | - | Amount to transfer. | `callData` | `Partial` | {} | - | `defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* + +Success of transfer. #### estimateGasAsync -▸ **estimateGasAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6087](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6087)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:497](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L497)* Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. @@ -15377,7 +15188,9 @@ Estimates the gas cost of sending an Ethereum transaction calling this method wi Name | Type | Description | ------ | ------ | ------ | -`order` | object | Order to cancel. Order must be OrderStatus.FILLABLE. | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -15386,9 +15199,9 @@ The hash of the transaction #### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6285](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6285)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:633](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L633)* Decode the ABI-encoded return data from a transaction @@ -15398,15 +15211,15 @@ Name | Type | Description | ------ | ------ | ------ | `returnData` | string | the data returned after transaction execution | -**Returns:** *void* +**Returns:** *boolean* An array representing the output results in order. Keynames of nested structs are preserved. #### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *[object]* +▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6237](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6237)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:621](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L621)* Decode the ABI-encoded transaction data into its input arguments @@ -15416,15 +15229,15 @@ Name | Type | Description | ------ | ------ | ------ | `callData` | string | The ABI-encoded transaction data | -**Returns:** *[object]* +**Returns:** *string* An array representing the input arguments in order. Keynames of nested structs are preserved. #### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`order`: object): *string* +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_value`: `BigNumber`): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6211](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6211)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:604](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L604)* Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used @@ -15434,7 +15247,9 @@ to create a 0x transaction (see protocol spec for more details). Name | Type | Description | ------ | ------ | ------ | -`order` | object | Order to cancel. Order must be OrderStatus.FILLABLE. | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | **Returns:** *string* @@ -15442,9 +15257,9 @@ The ABI encoded transaction data as a string #### sendTransactionAsync -▸ **sendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6002](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6002)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L419)* Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write Ethereum operation and will cost gas. @@ -15453,7 +15268,9 @@ Ethereum operation and will cost gas. Name | Type | Description | ------ | ------ | ------ | -`order` | object | Order to cancel. Order must be OrderStatus.FILLABLE. | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | `txData?` | `Partial` \| undefined | Additional data for transaction | **Returns:** *`Promise`* @@ -15462,11166 +15279,554 @@ The hash of the transaction #### validateAndSendTransactionAsync -▸ **validateAndSendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6124)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:527](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L527)* **Parameters:** Name | Type | ------ | ------ | -`order` | object | +`_from` | string | +`_to` | string | +`_value` | `BigNumber` | `txData?` | `Partial` \| undefined | **Returns:** *`Promise`* -___ +
-### cancelOrdersUpTo +# Class: MetamaskSubprovider -#### ▪ **cancelOrdersUpTo**: *object* +This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) +subprovider interface and the provider sendAsync interface. +It handles inconsistencies with Metamask implementations of various JSON RPC methods. +It forwards JSON RPC requests involving the domain of a signer (getAccounts, +sendTransaction, signMessage etc...) to the provider instance supplied at instantiation. All other requests +are passed onwards for subsequent subproviders to handle. -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2482)* -Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch -and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress). +## Constructors -#### awaitTransactionSuccessAsync -▸ **awaitTransactionSuccessAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2520](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2520)* +\+ **new MetamaskSubprovider**(`supportedProvider`: [SupportedProvider](#supportedprovider)): *[MetamaskSubprovider](#class-metamasksubprovider)* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/metamask_subprovider.ts#L19)* + +Instantiates a new MetamaskSubprovider **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | Web3 provider that should handle all user account related requests | -**Returns:** *`PromiseWithTransactionHash`* +**Returns:** *[MetamaskSubprovider](#class-metamasksubprovider)* -A promise that resolves when the transaction is successful +## Methods -#### callAsync +#### emitPayloadAsync -▸ **callAsync**(`targetOrderEpoch`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2582](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2582)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. + +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* + +Emits a JSON RPC payload that will then be handled by the ProviderEngine instance +this subprovider is a part of. The payload will cascade down the subprovider middleware +stack until finding the responsible entity for handling the request. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`targetOrderEpoch` | `BigNumber` | - | Orders created with a salt less or equal to this value will be cancelled. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +Name | Type | Description | +------ | ------ | ------ | +`payload` | `Partial` | JSON RPC payload | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -#### estimateGasAsync +JSON RPC response payload -▸ **estimateGasAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2548](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2548)* +### handleRequest -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [Callback](#callback), `end`: [ErrorCallback](#errorcallback)): *`Promise`* + +*Overrides void* + +*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/metamask_subprovider.ts#L39)* + +This method conforms to the web3-provider-engine interface. +It is called internally by the ProviderEngine when it is this subproviders +turn to handle a JSON RPC request. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +`payload` | `JSONRPCRequestPayload` | JSON RPC payload | +`next` | [Callback](#callback) | Callback to call if this subprovider decides not to handle the request | +`end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -The hash of the transaction +___ -#### getABIDecodedReturnData +### sendAsync -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +▸ **sendAsync**(`payload`: `JSONRPCRequestPayload`, `callback`: [ErrorCallback](#errorcallback)): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2651](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2651)* +*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/metamask_subprovider.ts#L117)* -Decode the ABI-encoded return data from a transaction +This method conforms to the provider sendAsync interface. +Allowing the MetamaskSubprovider to be used as a generic provider (outside of Web3ProviderEngine) with the +addition of wrapping the inconsistent Metamask behaviour **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +`payload` | `JSONRPCRequestPayload` | JSON RPC payload | +`callback` | [ErrorCallback](#errorcallback) | - | **Returns:** *void* -An array representing the output results in order. Keynames of nested structs are preserved. +The contents nested under the result key of the response body -#### getABIDecodedTransactionData +___ -▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* +### setEngine -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2639](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2639)* +▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* -Decode the ABI-encoded transaction data into its input arguments -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* -**Returns:** *[`BigNumber`]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`targetOrderEpoch`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2626](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2626)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2491](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2491)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +Set's the subprovider's engine to the ProviderEngine it is added to. +This is only called within the ProviderEngine source code, do not call +directly. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2567](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2567)* - -**Parameters:** +`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | -Name | Type | ------- | ------ | -`targetOrderEpoch` | `BigNumber` | -`txData?` | `Partial` \| undefined | +**Returns:** *void* -**Returns:** *`Promise`* +
-___ +# Class: RPCSubprovider -### cancelled +This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. +It forwards on JSON RPC requests to the supplied `rpcUrl` endpoint -#### ▪ **cancelled**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:549](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L549)* +## Constructors -#### callAsync -▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:555](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L555)* +\+ **new RPCSubprovider**(`rpcUrl`: string, `requestTimeoutMs`: number): *[RPCSubprovider](#class-rpcsubprovider)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +*Defined in [subproviders/src/subproviders/rpc_subprovider.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/rpc_subprovider.ts#L17)* **Parameters:** -Name | Type | Default | ------- | ------ | ------ | -`index_0` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:620](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L620)* - -Decode the ABI-encoded return data from a transaction +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`rpcUrl` | string | - | URL to the backing Ethereum node to which JSON RPC requests should be sent | +`requestTimeoutMs` | number | 20000 | Amount of miliseconds to wait before timing out the JSON RPC request | -**Parameters:** +**Returns:** *[RPCSubprovider](#class-rpcsubprovider)* -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +## Methods -**Returns:** *boolean* +### emitPayloadAsync -An array representing the output results in order. Keynames of nested structs are preserved. +▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -#### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:608](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L608)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* -Decode the ABI-encoded transaction data into its input arguments +Emits a JSON RPC payload that will then be handled by the ProviderEngine instance +this subprovider is a part of. The payload will cascade down the subprovider middleware +stack until finding the responsible entity for handling the request. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`index_0`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:597](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L597)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`index_0` | string | +`payload` | `Partial` | JSON RPC payload | -**Returns:** *string* +**Returns:** *`Promise`* -The ABI encoded transaction data as a string +JSON RPC response payload ___ -### currentContextAddress - -#### ▪ **currentContextAddress**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7274](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7274)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7280](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7280)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7339](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7339)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. +### handleRequest -#### getABIDecodedTransactionData +▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `_next`: [Callback](#callback), `end`: [ErrorCallback](#errorcallback)): *`Promise`* -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +*Overrides void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7327](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7327)* +*Defined in [subproviders/src/subproviders/rpc_subprovider.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/rpc_subprovider.ts#L38)* -Decode the ABI-encoded transaction data into its input arguments +This method conforms to the web3-provider-engine interface. +It is called internally by the ProviderEngine when it is this subproviders +turn to handle a JSON RPC request. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7317](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7317)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* +`payload` | `JSONRPCRequestPayload` | JSON RPC payload | +`_next` | [Callback](#callback) | Callback to call if this subprovider decides not to handle the request | +`end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | -The ABI encoded transaction data as a string +**Returns:** *`Promise`* ___ -### executeTransaction - -#### ▪ **executeTransaction**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5404](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5404)* - -Executes an exchange method call in the context of signer. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5460](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5460)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`salt` | `BigNumber` | Arbitrary number to ensure uniqueness of transaction hash. | -`signerAddress` | string | Address of transaction signer. | -`data` | string | AbiV2 encoded calldata. | -`signature` | string | Proof of signer transaction by signer. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5561](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5561)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`salt` | `BigNumber` | - | Arbitrary number to ensure uniqueness of transaction hash. | -`signerAddress` | string | - | Address of transaction signer. | -`data` | string | - | AbiV2 encoded calldata. | -`signature` | string | - | Proof of signer transaction by signer. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +### setEngine -**Returns:** *`Promise`* +▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* -#### estimateGasAsync -▸ **estimateGasAsync**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5502](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5502)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +Set's the subprovider's engine to the ProviderEngine it is added to. +This is only called within the ProviderEngine source code, do not call +directly. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`salt` | `BigNumber` | Arbitrary number to ensure uniqueness of transaction hash. | -`signerAddress` | string | Address of transaction signer. | -`data` | string | AbiV2 encoded calldata. | -`signature` | string | Proof of signer transaction by signer. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction +`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | -#### getABIDecodedReturnData +**Returns:** *void* -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +
-*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5647](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5647)* +# Enumeration: ERC20TokenEvents -Decode the ABI-encoded return data from a transaction -**Parameters:** +## Enumeration members -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`, string, string, string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5635](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5635)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[`BigNumber`, string, string, string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5618](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5618)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`salt` | `BigNumber` | Arbitrary number to ensure uniqueness of transaction hash. | -`signerAddress` | string | Address of transaction signer. | -`data` | string | AbiV2 encoded calldata. | -`signature` | string | Proof of signer transaction by signer. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5415](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5415)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`salt` | `BigNumber` | Arbitrary number to ensure uniqueness of transaction hash. | -`signerAddress` | string | Address of transaction signer. | -`data` | string | AbiV2 encoded calldata. | -`signature` | string | Proof of signer transaction by signer. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`salt`: `BigNumber`, `signerAddress`: string, `data`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5535](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5535)* - -**Parameters:** - -Name | Type | ------- | ------ | -`salt` | `BigNumber` | -`signerAddress` | string | -`data` | string | -`signature` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### fillOrKillOrder - -#### ▪ **fillOrKillOrder**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3204](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3204)* - -Fills the input order. Reverts if exact takerAssetFillAmount not filled. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3266](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3266)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3393](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3393)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`order` | object | - | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | -`signature` | string | - | Proof that order has been created by maker. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3316](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3316)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3543](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3543)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3501](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3501)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *object* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3469](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3469)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3214](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3214)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3357](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3357)* - -**Parameters:** - -Name | Type | ------- | ------ | -`order` | object | -`takerAssetFillAmount` | `BigNumber` | -`signature` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### fillOrder - -#### ▪ **fillOrder**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5044](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5044)* - -Fills the input order. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5106](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5106)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5229](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5229)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`order` | object | - | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | -`signature` | string | - | Proof that order has been created by maker. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Amounts filled and fees paid by maker and taker. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5151](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5151)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5379](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5379)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5337)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *object* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5305](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5305)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5054](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5054)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5192)* - -**Parameters:** - -Name | Type | ------- | ------ | -`order` | object | -`takerAssetFillAmount` | `BigNumber` | -`signature` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### fillOrderNoThrow - -#### ▪ **fillOrderNoThrow**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1353)* - -Fills the input order. -Returns false if the transaction would otherwise revert. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1415](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1415)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1543](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1543)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`order` | object | - | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | -`signature` | string | - | Proof that order has been created by maker. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Amounts filled and fees paid by maker and taker. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1465](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1465)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1693](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1693)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1651](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1651)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *object* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1619](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1619)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1363](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1363)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order struct containing order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signature` | string | Proof that order has been created by maker. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1506](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1506)* - -**Parameters:** - -Name | Type | ------- | ------ | -`order` | object | -`takerAssetFillAmount` | `BigNumber` | -`signature` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### filled - -#### ▪ **filled**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L93)* - -#### callAsync - -▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:99](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L99)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`index_0` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:164](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L164)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`BigNumber`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:152](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L152)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`index_0`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:141](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L141)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`index_0` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getAssetProxy - -#### ▪ **getAssetProxy**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3040](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3040)* - -Gets an asset proxy. - -#### callAsync - -▸ **callAsync**(`assetProxyId`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3048](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3048)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`assetProxyId` | string | - | Id of the asset proxy. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -The asset proxy registered to assetProxyId. Returns 0x0 if no proxy is registered. - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3114](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3114)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3102](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3102)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`assetProxyId`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3091](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3091)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetProxyId` | string | Id of the asset proxy. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getOrderInfo - -#### ▪ **getOrderInfo**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5834](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5834)* - -Gets information about an order: status, hash, and amount filled. - -#### callAsync - -▸ **callAsync**(`order`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5842](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5842)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`order` | object | - | Order to gather information on. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -OrderInfo Information about the order and its state. See LibOrder.OrderInfo for a complete description. - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5974](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5974)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5932](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5932)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *object* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`order`: object): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5906](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5906)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | object | Order to gather information on. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getOrdersInfo - -#### ▪ **getOrdersInfo**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4246](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4246)* - -Fetches information for all passed in orders. - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4254](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4254)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise>`* - -Array of OrderInfo instances that correspond to each order. - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4390](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4390)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`Array`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4346)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *`Array`* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4317](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4317)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### isValidSignature - -#### ▪ **isValidSignature**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4568](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4568)* - -Verifies that a hash has been signed by the given signer. - -#### callAsync - -▸ **callAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4578](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4578)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`hash` | string | - | Any 32 byte hash. | -`signerAddress` | string | - | Address that should have signed the given hash. | -`signature` | string | - | Proof that the hash has been signed by signer. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -True if the address recovered from the provided signature matches the input signer address. - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4660](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4660)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4648](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4648)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`hash`: string, `signerAddress`: string, `signature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4631](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4631)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | Any 32 byte hash. | -`signerAddress` | string | Address that should have signed the given hash. | -`signature` | string | Proof that the hash has been signed by signer. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### marketBuyOrders - -#### ▪ **marketBuyOrders**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6905](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6905)* - -Synchronously executes multiple calls of fillOrder until total amount of makerAsset is bought by taker. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6968](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6968)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7098](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7098)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | - | Desired amount of makerAsset to buy. | -`signatures` | string[] | - | Proofs that orders have been signed by makers. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Amounts filled and fees paid by makers and taker. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7019](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7019)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7252](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7252)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7208](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7208)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *`Array`* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7175](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7175)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | -`signatures` | string[] | Proofs that orders have been signed by makers. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6915](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6915)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7061](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7061)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Array` | -`makerAssetFillAmount` | `BigNumber` | -`signatures` | string[] | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### marketBuyOrdersNoThrow - -#### ▪ **marketBuyOrdersNoThrow**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4672](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4672)* - -Synchronously executes multiple fill orders in a single transaction until total amount is bought by taker. -Returns false if the transaction would otherwise revert. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4735](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4735)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4865](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4865)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | - | Desired amount of makerAsset to buy. | -`signatures` | string[] | - | Proofs that orders have been signed by makers. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Amounts filled and fees paid by makers and taker. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4786](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4786)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5019](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5019)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4975](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4975)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *`Array`* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4942](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4942)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | -`signatures` | string[] | Proofs that orders have been signed by makers. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4682](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4682)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4828](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4828)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Array` | -`makerAssetFillAmount` | `BigNumber` | -`signatures` | string[] | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### marketSellOrders - -#### ▪ **marketSellOrders**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3874](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3874)* - -Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3937](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3937)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4067](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4067)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | -`signatures` | string[] | - | Proofs that orders have been created by makers. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Amounts filled and fees paid by makers and taker. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3988](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3988)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4221](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4221)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4177](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4177)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *`Array`* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4144](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4144)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signatures` | string[] | Proofs that orders have been created by makers. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3884](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3884)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4030](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4030)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Array` | -`takerAssetFillAmount` | `BigNumber` | -`signatures` | string[] | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### marketSellOrdersNoThrow - -#### ▪ **marketSellOrdersNoThrow**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6460](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6460)* - -Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. -Returns false if the transaction would otherwise revert. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6523](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6523)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6653](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6653)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | -`signatures` | string[] | - | Proofs that orders have been signed by makers. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Amounts filled and fees paid by makers and taker. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6574](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6574)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6807](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6807)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6763](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6763)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *`Array`* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6730](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6730)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signatures` | string[] | Proofs that orders have been signed by makers. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6470](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6470)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications. | -`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | -`signatures` | string[] | Proofs that orders have been signed by makers. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6616](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6616)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Array` | -`takerAssetFillAmount` | `BigNumber` | -`signatures` | string[] | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### matchOrders - -#### ▪ **matchOrders**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:860](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L860)* - -Match two complementary orders that have a profitable spread. -Each order is filled at their respective price point. However, the calculations are -carried out as though the orders are both being filled at the right order's price point. -The profit made by the left order goes to the taker (who matched the two orders). - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:938](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L938)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`leftOrder` | object | First order to match. | -`rightOrder` | object | Second order to match. | -`leftSignature` | string | Proof that order was created by the left maker. | -`rightSignature` | string | Proof that order was created by the right maker. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1112](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1112)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`leftOrder` | object | - | First order to match. | -`rightOrder` | object | - | Second order to match. | -`leftSignature` | string | - | Proof that order was created by the left maker. | -`rightSignature` | string | - | Proof that order was created by the right maker. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -matchedFillResults Amounts filled and fees paid by maker and taker of matched orders. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1004](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1004)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`leftOrder` | object | First order to match. | -`rightOrder` | object | Second order to match. | -`leftSignature` | string | Proof that order was created by the left maker. | -`rightSignature` | string | Proof that order was created by the right maker. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1309](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1309)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1267](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1267)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *object* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1221](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1221)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`leftOrder` | object | First order to match. | -`rightOrder` | object | Second order to match. | -`leftSignature` | string | Proof that order was created by the left maker. | -`rightSignature` | string | Proof that order was created by the right maker. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:871](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L871)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`leftOrder` | object | First order to match. | -`rightOrder` | object | Second order to match. | -`leftSignature` | string | Proof that order was created by the left maker. | -`rightSignature` | string | Proof that order was created by the right maker. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1059](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1059)* - -**Parameters:** - -Name | Type | ------- | ------ | -`leftOrder` | object | -`rightOrder` | object | -`leftSignature` | string | -`rightSignature` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### orderEpoch - -#### ▪ **orderEpoch**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6295](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6295)* - -#### callAsync - -▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6301](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6301)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`index_0` | string | - | -`index_1` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6375](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6375)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`BigNumber`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6363](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6363)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6348](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6348)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`index_0` | string | -`index_1` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### owner - -#### ▪ **owner**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4492](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4492)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4498](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4498)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4557)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4545](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4545)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4535](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4535)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### preSign - -#### ▪ **preSign**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:632](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L632)* - -Approves a hash on-chain using any valid signature type. -After presigning a hash, the preSign signature type will become valid for that hash and signer. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:681](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L681)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | - | -`signerAddress` | string | Address that should have signed the given hash. | -`signature` | string | Proof that the hash has been signed by signer. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:765](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L765)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`hash` | string | - | - | -`signerAddress` | string | - | Address that should have signed the given hash. | -`signature` | string | - | Proof that the hash has been signed by signer. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:718](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L718)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | - | -`signerAddress` | string | Address that should have signed the given hash. | -`signature` | string | Proof that the hash has been signed by signer. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:846](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L846)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:834](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L834)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string, string, string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`hash`: string, `signerAddress`: string, `signature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:817](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L817)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | - | -`signerAddress` | string | Address that should have signed the given hash. | -`signature` | string | Proof that the hash has been signed by signer. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:641](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L641)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | - | -`signerAddress` | string | Address that should have signed the given hash. | -`signature` | string | Proof that the hash has been signed by signer. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:748](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L748)* - -**Parameters:** - -Name | Type | ------- | ------ | -`hash` | string | -`signerAddress` | string | -`signature` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### preSigned - -#### ▪ **preSigned**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4404](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4404)* - -#### callAsync - -▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4410)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`index_0` | string | - | -`index_1` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4484](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4484)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4472)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4457](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4457)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`index_0` | string | -`index_1` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### registerAssetProxy - -#### ▪ **registerAssetProxy**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5659](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5659)* - -Registers an asset proxy to its asset proxy id. -Once an asset proxy is registered, it cannot be unregistered. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`assetProxy`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5695](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5695)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetProxy` | string | Address of new asset proxy to register. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`assetProxy`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5755](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5755)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`assetProxy` | string | - | Address of new asset proxy to register. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5722](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5722)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetProxy` | string | Address of new asset proxy to register. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5823](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5823)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5811](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5811)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`assetProxy`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5798](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5798)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetProxy` | string | Address of new asset proxy to register. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5667](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5667)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetProxy` | string | Address of new asset proxy to register. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5741](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5741)* - -**Parameters:** - -Name | Type | ------- | ------ | -`assetProxy` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### setSignatureValidatorApproval - -#### ▪ **setSignatureValidatorApproval**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3568](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3568)* - -Approves/unnapproves a Validator contract to verify signatures on signer's behalf. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3618](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3618)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`validatorAddress` | string | Address of Validator contract. | -`approval` | boolean | Approval or disapproval of Validator contract. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`validatorAddress`: string, `approval`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3699](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3699)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`validatorAddress` | string | - | Address of Validator contract. | -`approval` | boolean | - | Approval or disapproval of Validator contract. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3652](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3652)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`validatorAddress` | string | Address of Validator contract. | -`approval` | boolean | Approval or disapproval of Validator contract. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3775](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3775)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3763](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3763)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string, boolean]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`validatorAddress`: string, `approval`: boolean): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3748](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3748)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`validatorAddress` | string | Address of Validator contract. | -`approval` | boolean | Approval or disapproval of Validator contract. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3577](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3577)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`validatorAddress` | string | Address of Validator contract. | -`approval` | boolean | Approval or disapproval of Validator contract. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3679](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3679)* - -**Parameters:** - -Name | Type | ------- | ------ | -`validatorAddress` | string | -`approval` | boolean | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### transactions - -#### ▪ **transactions**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3122)* - -#### callAsync - -▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3128](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3128)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`index_0` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3193](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3193)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3181)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`index_0`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3170)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`index_0` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### transferOwnership - -#### ▪ **transferOwnership**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7347)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7381](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7381)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7436](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7436)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`newOwner` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7407](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7407)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7499](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7499)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7487](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7487)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7474](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7474)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`newOwner` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7354](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7354)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7426)* - -**Parameters:** - -Name | Type | ------- | ------ | -`newOwner` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -
- -# Class: ForwarderContract - - -## Constructors - - - -\+ **new ForwarderContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ForwarderContract](#class-forwardercontract)* - -*Overrides void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:2273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L2273)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[ForwarderContract](#class-forwardercontract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:26 - -___ - -Args - -• **constructorArgs**: *any[]* - - - -Defined in base-contract/lib/src/index.d.ts:28 - -___ - -### contractName - -• **contractName**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:27 - -## Methods - -### evmExecAsync - -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* - - - -Defined in base-contract/lib/src/index.d.ts:38 - -**Parameters:** - -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1834](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1834)* - -**Returns:** *[ContractAbi](#contractabi)* - -The contract ABI - -___ - -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_zrxAssetData`: string, `_wethAssetData`: string): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1785](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1785)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | -`_zrxAssetData` | string | -`_wethAssetData` | string | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_zrxAssetData`: string, `_wethAssetData`: string): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1748](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1748)* - -**Parameters:** - -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | -`_zrxAssetData` | string | -`_wethAssetData` | string | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### marketBuyOrdersWithEth - -#### ▪ **marketBuyOrdersWithEth**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L36)* - -Attempt to purchase makerAssetFillAmount of makerAsset by selling ETH provided with transaction. -Any ZRX required to pay fees for primary orders will automatically be purchased by this contract. -Any ETH not spent will be refunded to sender. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:151](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L151)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to purchase. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | Address that will receive ETH when orders are filled. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[object, object]>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:379](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L379)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`makerAssetFillAmount` | `BigNumber` | - | Desired amount of makerAsset to purchase. | -`signatures` | string[] | - | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | - | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | - | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | - | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | - | Address that will receive ETH when orders are filled. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise<[object, object]>`* - -Amounts filled and fees paid by maker and taker for both sets of orders. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:234](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L234)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to purchase. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | Address that will receive ETH when orders are filled. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *[object, object]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:660](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L660)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *[object, object]* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, `BigNumber`, string[], `Array`, string[], `BigNumber`, string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:574](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L574)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[`Array`, `BigNumber`, string[], `Array`, string[], `BigNumber`, string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:512](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L512)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to purchase. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | Address that will receive ETH when orders are filled. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L53)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to purchase. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | Address that will receive ETH when orders are filled. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:305](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L305)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Array` | -`makerAssetFillAmount` | `BigNumber` | -`signatures` | string[] | -`feeOrders` | `Array` | -`feeSignatures` | string[] | -`feePercentage` | `BigNumber` | -`feeRecipient` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### marketSellOrdersWithEth - -#### ▪ **marketSellOrdersWithEth**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:978](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L978)* - -Purchases as much of orders' makerAssets as possible by selling up to 95% of transaction's ETH value. -Any ZRX required to pay fees for primary orders will automatically be purchased by this contract. -5% of ETH value is reserved for paying fees to order feeRecipients (in ZRX) and forwarding contract feeRecipient (in ETH). -Any ETH not spent will be refunded to sender. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1080](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1080)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | Address that will receive ETH when orders are filled. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[object, object]>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1290](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1290)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `Array` | - | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`signatures` | string[] | - | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | - | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | - | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | - | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | - | Address that will receive ETH when orders are filled. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise<[object, object]>`* - -Amounts filled and fees paid by maker and taker for both sets of orders. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`orders`: `Array`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1159](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1159)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | Address that will receive ETH when orders are filled. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *[object, object]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1548](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1548)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *[object, object]* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, string[], `Array`, string[], `BigNumber`, string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1464](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1464)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[`Array`, string[], `Array`, string[], `BigNumber`, string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1412](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1412)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | Address that will receive ETH when orders are filled. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`orders`: `Array`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:994](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L994)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | -`signatures` | string[] | Proofs that orders have been created by makers. | -`feeOrders` | `Array` | Array of order specifications containing ZRX as makerAsset and WETH as takerAsset. Used to purchase ZRX for primary order fees. | -`feeSignatures` | string[] | Proofs that feeOrders have been created by makers. | -`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | -`feeRecipient` | string | Address that will receive ETH when orders are filled. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `signatures`: string[], `feeOrders`: `Array`, `feeSignatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1220](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1220)* - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Array` | -`signatures` | string[] | -`feeOrders` | `Array` | -`feeSignatures` | string[] | -`feePercentage` | `BigNumber` | -`feeRecipient` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### owner - -#### ▪ **owner**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L899)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:905](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L905)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:964](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L964)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:952](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L952)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:942](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L942)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### transferOwnership - -#### ▪ **transferOwnership**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1588](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1588)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1622](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1622)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1677](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1677)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`newOwner` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1648](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1648)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1740](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1740)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1728](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1728)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1715](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1715)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`newOwner` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1595](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1595)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOwner` | string | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1667](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1667)* - -**Parameters:** - -Name | Type | ------- | ------ | -`newOwner` | string | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### withdrawAsset - -#### ▪ **withdrawAsset**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:705](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L705)* - -Withdraws assets from this contract. The contract requires a ZRX balance in order to -function optimally, and this function allows the ZRX to be withdrawn by owner. It may also be -used to withdraw assets that were accidentally sent to this contract. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`assetData`: string, `amount`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:748](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L748)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetData` | string | Byte array encoded for the respective asset proxy. | -`amount` | `BigNumber` | Amount of ERC20 token to withdraw. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`assetData`: string, `amount`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:818](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L818)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`assetData` | string | - | Byte array encoded for the respective asset proxy. | -`amount` | `BigNumber` | - | Amount of ERC20 token to withdraw. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`assetData`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:778](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L778)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetData` | string | Byte array encoded for the respective asset proxy. | -`amount` | `BigNumber` | Amount of ERC20 token to withdraw. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:891](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L891)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:879](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L879)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string, `BigNumber`]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`assetData`: string, `amount`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:864](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L864)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetData` | string | Byte array encoded for the respective asset proxy. | -`amount` | `BigNumber` | Amount of ERC20 token to withdraw. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`assetData`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:714](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L714)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetData` | string | Byte array encoded for the respective asset proxy. | -`amount` | `BigNumber` | Amount of ERC20 token to withdraw. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`assetData`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:802](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L802)* - -**Parameters:** - -Name | Type | ------- | ------ | -`assetData` | string | -`amount` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -
- -# Class: IValidatorContract - - -## Constructors - - - -\+ **new IValidatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[IValidatorContract](#class-ivalidatorcontract)* - -*Overrides void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:232](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L232)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[IValidatorContract](#class-ivalidatorcontract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:26 - -___ - -Args - -• **constructorArgs**: *any[]* - - - -Defined in base-contract/lib/src/index.d.ts:28 - -___ - -### contractName - -• **contractName**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:27 - -## Methods - -### evmExecAsync - -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* - - - -Defined in base-contract/lib/src/index.d.ts:38 - -**Parameters:** - -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:201](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L201)* - -**Returns:** *[ContractAbi](#contractabi)* - -The contract ABI - -___ - -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:159](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L159)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:134](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L134)* - -**Parameters:** - -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### isValidSignature - -#### ▪ **isValidSignature**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L34)* - -Verifies that a signature is valid. - -#### callAsync - -▸ **callAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L44)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`hash` | string | - | Message hash that is signed. | -`signerAddress` | string | - | Address that should have signed the given hash. | -`signature` | string | - | Proof of signing. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Magic bytes4 value if the signature is valid. Magic value is bytes4(keccak256("isValidValidatorSignature(address,bytes32,address,bytes)")) - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:126](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L126)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:114](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L114)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`hash`: string, `signerAddress`: string, `signature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:97](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L97)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | Message hash that is signed. | -`signerAddress` | string | Address that should have signed the given hash. | -`signature` | string | Proof of signing. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -
- -# Class: IWalletContract - - -## Constructors - - - -\+ **new IWalletContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[IWalletContract](#class-iwalletcontract)* - -*Overrides void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:218](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L218)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[IWalletContract](#class-iwalletcontract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:26 - -___ - -Args - -• **constructorArgs**: *any[]* - - - -Defined in base-contract/lib/src/index.d.ts:28 - -___ - -### contractName - -• **contractName**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:27 - -## Methods - -### evmExecAsync - -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* - - - -Defined in base-contract/lib/src/index.d.ts:38 - -**Parameters:** - -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:191](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L191)* - -**Returns:** *[ContractAbi](#contractabi)* - -The contract ABI - -___ - -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:149](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L149)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L124)* - -**Parameters:** - -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### isValidSignature - -#### ▪ **isValidSignature**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L34)* - -Verifies that a signature is valid. - -#### callAsync - -▸ **callAsync**(`hash`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L43)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`hash` | string | - | Message hash that is signed. | -`signature` | string | - | Proof of signing. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Magic bytes4 value if the signature is valid. Magic value is bytes4(keccak256("isValidWalletSignature(bytes32,address,bytes)")) - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:116](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L116)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L104)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`hash`: string, `signature`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L89)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | Message hash that is signed. | -`signature` | string | Proof of signing. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -
- -# Class: OrderValidatorContract - - -## Constructors - - - -\+ **new OrderValidatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[OrderValidatorContract](#class-ordervalidatorcontract)* - -*Overrides void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1751](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1751)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[OrderValidatorContract](#class-ordervalidatorcontract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:26 - -___ - -Args - -• **constructorArgs**: *any[]* - - - -Defined in base-contract/lib/src/index.d.ts:28 - -___ - -### contractName - -• **contractName**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:27 - -## Methods - -### evmExecAsync - -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* - - - -Defined in base-contract/lib/src/index.d.ts:38 - -**Parameters:** - -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1190](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1190)* - -**Returns:** *[ContractAbi](#contractabi)* - -The contract ABI - -___ - -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_zrxAssetData`: string): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1142)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | -`_zrxAssetData` | string | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_zrxAssetData`: string): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1107)* - -**Parameters:** - -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | -`_zrxAssetData` | string | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### getBalanceAndAllowance - -#### ▪ **getBalanceAndAllowance**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:244](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L244)* - -#### callAsync - -▸ **callAsync**(`target`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber, BigNumber]>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:250](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L250)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`target` | string | - | -`assetData` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise<[BigNumber, BigNumber]>`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`, `BigNumber`]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L324)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *[`BigNumber`, `BigNumber`]* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:312](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L312)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string, string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`target`: string, `assetData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:297](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L297)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`target` | string | -`assetData` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getBalancesAndAllowances - -#### ▪ **getBalancesAndAllowances**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:832](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L832)* - -#### callAsync - -▸ **callAsync**(`target`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber[], BigNumber[]]>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:838](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L838)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`target` | string | - | -`assetData` | string[] | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise<[BigNumber[], BigNumber[]]>`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`[], `BigNumber`[]]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:912](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L912)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *[`BigNumber`[], `BigNumber`[]]* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string[]]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:900](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L900)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[string, string[]]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`target`: string, `assetData`: string[]): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:885](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L885)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`target` | string | -`assetData` | string[] | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getERC721TokenOwner - -#### ▪ **getERC721TokenOwner**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:744](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L744)* - -#### callAsync - -▸ **callAsync**(`token`: string, `tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:750](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L750)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`token` | string | - | -`tokenId` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:824](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L824)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:812](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L812)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`token`: string, `tokenId`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:797](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L797)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`token` | string | -`tokenId` | `BigNumber` | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getOrderAndTraderInfo - -#### ▪ **getOrderAndTraderInfo**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L31)* - -#### callAsync - -▸ **callAsync**(`order`: object, `takerAddress`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[object, object]>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L37)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`order` | object | - | -`takerAddress` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise<[object, object]>`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *[object, object]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:206](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L206)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *[object, object]* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:156](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L156)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[object, string]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`order`: object, `takerAddress`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:126](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L126)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`order` | object | -`takerAddress` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getOrdersAndTradersInfo - -#### ▪ **getOrdersAndTradersInfo**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:332](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L332)* - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `takerAddresses`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[Array, Array]>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:338](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L338)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`orders` | `Array` | - | -`takerAddresses` | string[] | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise<[Array, Array]>`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *[`Array`, `Array`]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:509](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L509)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *[`Array`, `Array`]* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, string[]]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:459](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L459)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[`Array`, string[]]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAddresses`: string[]): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L428)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Array` | -`takerAddresses` | string[] | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getTraderInfo - -#### ▪ **getTraderInfo**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:920](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L920)* - -#### callAsync - -▸ **callAsync**(`order`: object, `takerAddress`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:926](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L926)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`order` | object | - | -`takerAddress` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1077](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1077)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *object* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1035](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1035)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *object* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`order`: object, `takerAddress`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1005](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1005)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`order` | object | -`takerAddress` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### getTradersInfo - -#### ▪ **getTradersInfo**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:547](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L547)* - -#### callAsync - -▸ **callAsync**(`orders`: `Array`, `takerAddresses`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:553](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L553)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`orders` | `Array` | - | -`takerAddresses` | string[] | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise>`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:712](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L712)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`Array`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:668](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L668)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *`Array`* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAddresses`: string[]): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L637)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`orders` | `Array` | -`takerAddresses` | string[] | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -
- -# Class: WETH9Contract - - -## Constructors - - - -\+ **new WETH9Contract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[WETH9Contract](#class-weth9contract)* - -*Overrides void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1831](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1831)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[WETH9Contract](#class-weth9contract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:26 - -___ - -Args - -• **constructorArgs**: *any[]* - - - -Defined in base-contract/lib/src/index.d.ts:28 - -___ - -### contractName - -• **contractName**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:27 - -## Methods - -### evmExecAsync - -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* - - - -Defined in base-contract/lib/src/index.d.ts:38 - -**Parameters:** - -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### getLogsAsync - -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [WETH9Events](#enumeration-weth9events), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1815](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1815)* - -Gets historical logs without creating a subscription - -**Type parameters:** - -▪ **ArgsType**: *[WETH9EventArgs](#weth9eventargs)* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`eventName` | [WETH9Events](#enumeration-weth9events) | The WETH9 contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | - -**Returns:** *`Promise>>`* - -Array of logs that match the parameters - -___ - -### subscribe - -▸ **subscribe**<**ArgsType**>(`eventName`: [WETH9Events](#enumeration-weth9events), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1773](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1773)* - -Subscribe to an event type emitted by the WETH9 contract. - -**Type parameters:** - -▪ **ArgsType**: *[WETH9EventArgs](#weth9eventargs)* - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [WETH9Events](#enumeration-weth9events) | - | The WETH9 contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | - -**Returns:** *string* - -Subscription token used later to unsubscribe - -___ - -### unsubscribe - -▸ **unsubscribe**(`subscriptionToken`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1798](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1798)* - -Cancel a subscription - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | - -**Returns:** *void* - -___ - -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1804](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1804)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1476](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1476)* - -**Returns:** *[ContractAbi](#contractabi)* - -The contract ABI - -___ - -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1434)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1409](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1409)* - -**Parameters:** - -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### allowance - -#### ▪ **allowance**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1320](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1320)* - -#### callAsync - -▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1326](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1326)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`index_0` | string | - | -`index_1` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1400)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`BigNumber`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1388)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1373](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1373)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`index_0` | string | -`index_1` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### approve - -#### ▪ **approve**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:146](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L146)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L181)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`guy` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`guy`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:243](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L243)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`guy` | string | - | -`wad` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:209](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L209)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`guy` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:314](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L314)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:302](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L302)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`guy`: string, `wad`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:287](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L287)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`guy` | string | -`wad` | `BigNumber` | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L153)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`guy` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:229](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L229)* - -**Parameters:** - -Name | Type | ------- | ------ | -`guy` | string | -`wad` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### balanceOf - -#### ▪ **balanceOf**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:838](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L838)* - -#### callAsync - -▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:844](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L844)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`index_0` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:911](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L911)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`BigNumber`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:899](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L899)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`index_0`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:886](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L886)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`index_0` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### decimals - -#### ▪ **decimals**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:765](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L765)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:771](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L771)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *number* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:830](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L830)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *number* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:818](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L818)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:808](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L808)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### deposit - -#### ▪ **deposit**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1168)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1201](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1201)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1253](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1253)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1225)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1312](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1312)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1300](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1300)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1290](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1290)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1175](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1175)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1243](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1243)* - -**Parameters:** - -Name | Type | ------- | ------ | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### name - -#### ▪ **name**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L73)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L79)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:138](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L138)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:126](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L126)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:116](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L116)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### symbol - -#### ▪ **symbol**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:919](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L919)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:925](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L925)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:984](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L984)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:972](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L972)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:962](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L962)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### totalSupply - -#### ▪ **totalSupply**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L322)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:328](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L328)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L387)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`BigNumber`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:375](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L375)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:365](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L365)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### transfer - -#### ▪ **transfer**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:992](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L992)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1027](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1027)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`dst` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`dst`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1089](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1089)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`dst` | string | - | -`wad` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1055](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1055)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`dst` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1160](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1160)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1148)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`dst`: string, `wad`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1133)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`dst` | string | -`wad` | `BigNumber` | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:999](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L999)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`dst` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1075](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1075)* - -**Parameters:** - -Name | Type | ------- | ------ | -`dst` | string | -`wad` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### transferFrom - -#### ▪ **transferFrom**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:395](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L395)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L440)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`src` | string | - | -`dst` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:520](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L520)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`src` | string | - | -`dst` | string | - | -`wad` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L475)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`src` | string | - | -`dst` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:599](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L599)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:587](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L587)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`src`: string, `dst`: string, `wad`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:570](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L570)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`src` | string | -`dst` | string | -`wad` | `BigNumber` | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:402](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L402)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`src` | string | - | -`dst` | string | - | -`wad` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:505](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L505)* - -**Parameters:** - -Name | Type | ------- | ------ | -`src` | string | -`dst` | string | -`wad` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### withdraw - -#### ▪ **withdraw**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:607](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L607)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:641](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L641)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`wad` | `BigNumber` | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:696](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L696)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`wad` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:667](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L667)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`wad` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:757](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L757)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *void* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:745](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L745)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *[`BigNumber`]* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`wad`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:734](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L734)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`wad` | `BigNumber` | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:614](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L614)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`wad` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:686](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L686)* - -**Parameters:** - -Name | Type | ------- | ------ | -`wad` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -
- -# Class: ZRXTokenContract - - -## Constructors - - - -\+ **new ZRXTokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[ZRXTokenContract](#class-zrxtokencontract)* - -*Overrides void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1474](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1474)* - -**Parameters:** - -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | - -**Returns:** *[ZRXTokenContract](#class-zrxtokencontract)* - -## Properties - -#### abi - -• **abi**: *[ContractAbi](#contractabi)* - - - -Defined in base-contract/lib/src/index.d.ts:25 - -___ - -### address - -• **address**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:26 - -___ - -Args - -• **constructorArgs**: *any[]* - - - -Defined in base-contract/lib/src/index.d.ts:28 - -___ - -### contractName - -• **contractName**: *string* - - - -Defined in base-contract/lib/src/index.d.ts:27 - -## Methods - -### evmExecAsync - -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* - - - -Defined in base-contract/lib/src/index.d.ts:38 - -**Parameters:** - -Name | Type | ------- | ------ | -`input` | `Buffer` | - -**Returns:** *`Promise`* - -___ - -### getLogsAsync - -▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ZRXTokenEvents](#enumeration-zrxtokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1458](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1458)* - -Gets historical logs without creating a subscription - -**Type parameters:** - -▪ **ArgsType**: *[ZRXTokenEventArgs](#zrxtokeneventargs)* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`eventName` | [ZRXTokenEvents](#enumeration-zrxtokenevents) | The ZRXToken contract event you would like to subscribe to. | -`blockRange` | `BlockRange` | Block range to get logs from. | -`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | - -**Returns:** *`Promise>>`* - -Array of logs that match the parameters - -___ - -### subscribe - -▸ **subscribe**<**ArgsType**>(`eventName`: [ZRXTokenEvents](#enumeration-zrxtokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1416](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1416)* - -Subscribe to an event type emitted by the ZRXToken contract. - -**Type parameters:** - -▪ **ArgsType**: *[ZRXTokenEventArgs](#zrxtokeneventargs)* - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`eventName` | [ZRXTokenEvents](#enumeration-zrxtokenevents) | - | The ZRXToken contract event you would like to subscribe to. | -`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | -`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | -`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | -`blockPollingIntervalMs?` | undefined \| number | - | - | - -**Returns:** *string* - -Subscription token used later to unsubscribe - -___ - -### unsubscribe - -▸ **unsubscribe**(`subscriptionToken`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1441](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1441)* - -Cancel a subscription - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`subscriptionToken` | string | Subscription token returned by `subscribe()` | - -**Returns:** *void* - -___ - -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1447](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1447)* - -Cancels all existing subscriptions - -**Returns:** *void* - -___ - -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1188](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1188)* - -**Returns:** *[ContractAbi](#contractabi)* - -The contract ABI - -___ - -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1146](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1146)* - -**Parameters:** - -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1121](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1121)* - -**Parameters:** - -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | - -**Returns:** *`Promise`* - -___ - -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - - - -Defined in base-contract/lib/src/index.d.ts:37 - -**Parameters:** - -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | - -**Returns:** *string* - -## Object literals - -### allowance - -#### ▪ **allowance**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1032](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1032)* - -#### callAsync - -▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1038](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1038)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`_owner` | string | - | -`_spender` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1112](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1112)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`BigNumber`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1100](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1100)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1085](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1085)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`_owner` | string | -`_spender` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### approve - -#### ▪ **approve**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L130)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:172](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L172)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_spender` | string | - | -`_value` | `BigNumber` | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:241](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L241)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`_spender` | string | - | -`_value` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:200](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L200)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_spender` | string | - | -`_value` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:315](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L315)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:303](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L303)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`_spender`: string, `_value`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:288](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L288)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`_spender` | string | -`_value` | `BigNumber` | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:137](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L137)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_spender` | string | - | -`_value` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:227](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L227)* - -**Parameters:** - -Name | Type | ------- | ------ | -`_spender` | string | -`_value` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### balanceOf - -#### ▪ **balanceOf**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:700](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L700)* - -#### callAsync - -▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:706](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L706)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`_owner` | string | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:771](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L771)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`BigNumber`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:759](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L759)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`_owner`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:748](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L748)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`_owner` | string | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### decimals - -#### ▪ **decimals**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:627](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L627)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:633](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L633)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *number* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:692](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L692)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *number* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:680](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L680)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:670](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L670)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### name - -#### ▪ **name**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L57)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L63)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L122)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:110](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L110)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:100](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L100)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### symbol - -#### ▪ **symbol**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:779](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L779)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:785](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L785)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:844](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L844)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *string* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:832](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L832)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:822](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L822)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### totalSupply - -#### ▪ **totalSupply**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L323)* - -#### callAsync - -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L329)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L388)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *`BigNumber`* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *void* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:376](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L376)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *void* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:366](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L366)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Returns:** *string* - -The ABI encoded transaction data as a string - -___ - -### transfer - -#### ▪ **transfer**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:852](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L852)* - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:891](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L891)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_to` | string | - | -`_value` | `BigNumber` | - | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:953](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L953)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`_to` | string | - | -`_value` | `BigNumber` | - | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | - -**Returns:** *`Promise`* - -#### estimateGasAsync - -▸ **estimateGasAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:919](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L919)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_to` | string | - | -`_value` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1024](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1024)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1012](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1012)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`_to`: string, `_value`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:997](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L997)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | ------- | ------ | -`_to` | string | -`_value` | `BigNumber` | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:859](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L859)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_to` | string | - | -`_value` | `BigNumber` | - | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:939](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L939)* - -**Parameters:** - -Name | Type | ------- | ------ | -`_to` | string | -`_value` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -___ - -### transferFrom - -#### ▪ **transferFrom**: *object* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:399](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L399)* - -ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. - -#### awaitTransactionSuccessAsync - -▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:450](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L450)* - -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | Address to transfer from. | -`_to` | string | Address to transfer to. | -`_value` | `BigNumber` | Amount to transfer. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | - -**Returns:** *`PromiseWithTransactionHash`* - -A promise that resolves when the transaction is successful - -#### callAsync - -▸ **callAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:537](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L537)* - -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`_from` | string | - | Address to transfer from. | -`_to` | string | - | Address to transfer to. | -`_value` | `BigNumber` | - | Amount to transfer. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | - -**Returns:** *`Promise`* - -Success of transfer. - -#### estimateGasAsync - -▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:488](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L488)* - -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | Address to transfer from. | -`_to` | string | Address to transfer to. | -`_value` | `BigNumber` | Amount to transfer. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### getABIDecodedReturnData - -▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:619](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L619)* - -Decode the ABI-encoded return data from a transaction - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | - -**Returns:** *boolean* - -An array representing the output results in order. Keynames of nested structs are preserved. - -#### getABIDecodedTransactionData - -▸ **getABIDecodedTransactionData**(`callData`: string): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:607](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L607)* - -Decode the ABI-encoded transaction data into its input arguments - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | - -**Returns:** *string* - -An array representing the input arguments in order. Keynames of nested structs are preserved. - -#### getABIEncodedTransactionData - -▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_value`: `BigNumber`): *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:590](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L590)* - -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | Address to transfer from. | -`_to` | string | Address to transfer to. | -`_value` | `BigNumber` | Amount to transfer. | - -**Returns:** *string* - -The ABI encoded transaction data as a string - -#### sendTransactionAsync - -▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:409](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L409)* - -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`_from` | string | Address to transfer from. | -`_to` | string | Address to transfer to. | -`_value` | `BigNumber` | Amount to transfer. | -`txData?` | `Partial` \| undefined | Additional data for transaction | - -**Returns:** *`Promise`* - -The hash of the transaction - -#### validateAndSendTransactionAsync - -▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:518](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L518)* - -**Parameters:** - -Name | Type | ------- | ------ | -`_from` | string | -`_to` | string | -`_value` | `BigNumber` | -`txData?` | `Partial` \| undefined | - -**Returns:** *`Promise`* - -
- -# Class: ContractWrappers - -The ContractWrappers class contains smart contract wrappers helpful when building on 0x protocol. - - -## Constructors - - - -\+ **new ContractWrappers**(`supportedProvider`: [SupportedProvider](#supportedprovider), `config`: [ContractWrappersConfig](#interface-contractwrappersconfig)): *[ContractWrappers](#class-contractwrappers)* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L84)* - -Instantiates a new ContractWrappers instance. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | The Provider instance you would like the contract-wrappers library to use for interacting with the Ethereum network. | -`config` | [ContractWrappersConfig](#interface-contractwrappersconfig) | The configuration object. Look up the type for the description. | - -**Returns:** *[ContractWrappers](#class-contractwrappers)* - -An instance of the ContractWrappers class. - -## Properties - -#### contractAddresses - -• **contractAddresses**: *`ContractAddresses`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L43)* - -An index of the default contract addresses for this network. - -___ - -### coordinator - -• **coordinator**: *[CoordinatorWrapper](#class-coordinatorwrapper)* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:82](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L82)* - -An instance of the CoordinatorWrapper class containing methods for interacting with the Coordinator extension contract. - -___ - -### devUtils - -• **devUtils**: *`DevUtilsContract`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L78)* - -An instance of the DevUtilsContract class containing methods for interacting with the DevUtils smart contract. - -___ - -### dutchAuction - -• **dutchAuction**: *`DutchAuctionContract`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L74)* - -An instance of the DutchAuctionContract class containing methods for interacting with any DutchAuction smart contract. - -___ - -### erc20Proxy - -• **erc20Proxy**: *`ERC20ProxyContract`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L52)* - -An instance of the ERC20ProxyContract class containing methods for interacting with the -erc20Proxy smart contract. - -___ - -### erc721Proxy - -• **erc721Proxy**: *`ERC721ProxyContract`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L57)* - -An instance of the ERC721ProxyContract class containing methods for interacting with the -erc721Proxy smart contract. - -___ - -### exchange - -• **exchange**: *`ExchangeContract`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:47](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L47)* - -An instance of the ExchangeContract class containing methods for interacting with the 0x Exchange smart contract. - -___ - -### forwarder - -• **forwarder**: *`ForwarderContract`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L66)* - -An instance of the ForwarderContract class containing methods for interacting with any Forwarder smart contract. - -___ - -### orderValidator - -• **orderValidator**: *`OrderValidatorContract`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L70)* - -An instance of the OrderValidatorContract class containing methods for interacting with any OrderValidator smart contract. - -___ - -### weth9 - -• **weth9**: *`WETH9Contract`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:62](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L62)* - -An instance of the WETH9Contract class containing methods for interacting with the -WETH9 smart contract. - -## Methods - -### getAbiDecoder - -▸ **getAbiDecoder**(): *`AbiDecoder`* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:155](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L155)* - -Get the abi decoder instance currently used by contract-wrappers - -**Returns:** *`AbiDecoder`* - -AbiDecoder instance - -___ - -### getProvider - -▸ **getProvider**(): *[SupportedProvider](#supportedprovider)* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L148)* - -Get the provider instance currently used by contract-wrappers - -**Returns:** *[SupportedProvider](#supportedprovider)* - -Web3 provider instance - -___ - -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* - -*Defined in [contract-wrappers/src/contract_wrappers.ts:138](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L138)* - -Unsubscribes from all subscriptions for all contracts. - -**Returns:** *void* - -
- -# Class: CoordinatorWrapper - -This class includes all the functionality related to filling or cancelling orders through -the 0x V2 Coordinator extension contract. - - -## Constructors - - - -\+ **new CoordinatorWrapper**(`provider`: [SupportedProvider](#supportedprovider), `networkId`: number, `address?`: undefined | string, `exchangeAddress?`: undefined | string, `registryAddress?`: undefined | string): *[CoordinatorWrapper](#class-coordinatorwrapper)* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L43)* - -Instantiate CoordinatorWrapper - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`provider` | [SupportedProvider](#supportedprovider) | - | -`networkId` | number | Desired networkId. | -`address?` | undefined \| string | The address of the Coordinator contract. If undefined, will default to the known address corresponding to the networkId. | -`exchangeAddress?` | undefined \| string | The address of the Exchange contract. If undefined, will default to the known address corresponding to the networkId. | -`registryAddress?` | undefined \| string | The address of the CoordinatorRegistry contract. If undefined, will default to the known address corresponding to the networkId. | - -**Returns:** *[CoordinatorWrapper](#class-coordinatorwrapper)* - -## Properties - -### abi - -• **abi**: *[ContractAbi](#contractabi)* = Coordinator.compilerOutput.abi - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L34)* - -___ - -### address - -• **address**: *string* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L36)* - -___ - -### exchangeAddress - -• **exchangeAddress**: *string* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L37)* - -___ - -### networkId - -• **networkId**: *number* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L35)* - -___ - -### registryAddress - -• **registryAddress**: *string* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L38)* - -## Methods - -### assertValidCoordinatorApprovalsOrThrowAsync - -▸ **assertValidCoordinatorApprovalsOrThrowAsync**(`transaction`: `ZeroExTransaction`, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[]): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L637)* - -Validates that the 0x transaction has been approved by all of the feeRecipients that correspond to each order in the transaction's Exchange calldata. -Throws an error if the transaction approvals are not valid. Will not detect failures that would occur when the transaction is executed on the Exchange contract. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`transaction` | `ZeroExTransaction` | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | - -**Returns:** *`Promise`* - -___ - -### batchFillOrKillOrdersAsync - -▸ **batchFillOrKillOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L273)* - -Batch version of fillOrKillOrderAsync. Executes multiple fills atomically in a single transaction. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### batchFillOrdersAsync - -▸ **batchFillOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:203](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L203)* - -Batch version of fillOrderAsync. Executes multiple fills atomically in a single transaction. -Under-the-hood, this method uses the `feeRecipientAddress`s of the orders to looks up the coordinator server endpoints -registered in the coordinator registry contract. It requests a signature from each coordinator server before -submitting the orders and signatures as a 0x transaction to the coordinator extension contract, which validates the -signatures and then fills the order through the Exchange contract. -If any `feeRecipientAddress` in the batch is not registered to a coordinator server, the whole batch fails. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### batchFillOrdersNoThrowAsync - -▸ **batchFillOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:238](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L238)* - -No throw version of batchFillOrdersAsync - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### batchHardCancelOrdersAsync - -▸ **batchHardCancelOrdersAsync**(`orders`: `SignedOrder`[], `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:568](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L568)* - -Batch version of hardCancelOrderAsync. Cancels orders on-chain by submitting an Ethereum transaction. -Executes multiple cancels atomically in a single transaction. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `SignedOrder`[] | - | An array of orders to cancel. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### batchSoftCancelOrdersAsync - -▸ **batchSoftCancelOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L482)* - -Batch version of softCancelOrderAsync. Requests multiple soft cancels - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orders` | `SignedOrder`[] | An array of orders to cancel. | - -**Returns:** *`Promise`* - -CoordinatorServerCancellationResponse. See [Cancellation Response](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#response). - -___ - -### fillOrKillOrderAsync - -▸ **fillOrKillOrderAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:166](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L166)* - -Attempts to fill a specific amount of an order. If the entire amount specified cannot be filled, -the fill order is abandoned. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrder` | `SignedOrder` | - | An object that conforms to the SignedOrder interface. | -`takerAssetFillAmount` | `BigNumber` | - | The amount of the order (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill this order. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### fillOrderAsync - -▸ **fillOrderAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:101](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L101)* - -Fills a signed order with an amount denominated in baseUnits of the taker asset. Under-the-hood, this -method uses the `feeRecipientAddress` of the order to look up the coordinator server endpoint registered in the -coordinator registry contract. It requests a signature from that coordinator server before -submitting the order and signature as a 0x transaction to the coordinator extension contract. The coordinator extension -contract validates signatures and then fills the order via the Exchange contract. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrder` | `SignedOrder` | - | An object that conforms to the SignedOrder interface. | -`takerAssetFillAmount` | `BigNumber` | - | The amount of the order (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill this order. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### fillOrderNoThrowAsync - -▸ **fillOrderNoThrowAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L133)* - -No-throw version of fillOrderAsync. This version will not throw if the fill fails. This allows the caller to save gas at the expense of not knowing the reason the fill failed. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrder` | `SignedOrder` | - | An object that conforms to the SignedOrder interface. | -`takerAssetFillAmount` | `BigNumber` | - | The amount of the order (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill this order. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### getSignerAddressAsync - -▸ **getSignerAddressAsync**(`hash`: string, `signature`: string): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:669](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L669)* - -Recovers the address of a signer given a hash and signature. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | Any 32 byte hash. | -`signature` | string | Proof that the hash has been signed by signer. | - -**Returns:** *`Promise`* - -Signer address. - -___ - -### hardCancelOrderAsync - -▸ **hardCancelOrderAsync**(`order`: `Order` | `SignedOrder`, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:536](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L536)* - -Cancels an order on-chain by submitting an Ethereum transaction. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`order` | `Order` \| `SignedOrder` | - | An object that conforms to the Order or SignedOrder interface. The order you would like to cancel. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### hardCancelOrdersUpToAsync - -▸ **hardCancelOrdersUpToAsync**(`targetOrderEpoch`: `BigNumber`, `senderAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:603](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L603)* - -Cancels orders on-chain by submitting an Ethereum transaction. -Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch -and senderAddress equal to coordinator extension contract address. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`targetOrderEpoch` | `BigNumber` | - | Target order epoch. | -`senderAddress` | string | - | Address that should send the transaction. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### marketBuyOrdersAsync - -▸ **marketBuyOrdersAsync**(`signedOrders`: `SignedOrder`[], `makerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:313](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L313)* - -Synchronously executes multiple calls to fillOrder until total amount of makerAsset is bought by taker. -Under-the-hood, this method uses the `feeRecipientAddress`s of the orders to looks up the coordinator server endpoints -registered in the coordinator registry contract. It requests a signature from each coordinator server before -submitting the orders and signatures as a 0x transaction to the coordinator extension contract, which validates the -signatures and then fills the order through the Exchange contract. -If any `feeRecipientAddress` in the batch is not registered to a coordinator server, the whole batch fails. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`makerAssetFillAmount` | `BigNumber` | - | Maker asset fill amount. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### marketBuyOrdersNoThrowAsync - -▸ **marketBuyOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `makerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L384)* - -No throw version of marketBuyOrdersAsync - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`makerAssetFillAmount` | `BigNumber` | - | Maker asset fill amount. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### marketSellOrdersAsync - -▸ **marketSellOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:351](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L351)* - -Synchronously executes multiple calls to fillOrder until total amount of makerAsset is bought by taker. -Under-the-hood, this method uses the `feeRecipientAddress`s of the orders to looks up the coordinator server endpoints -registered in the coordinator registry contract. It requests a signature from each coordinator server before -submitting the orders and signatures as a 0x transaction to the coordinator extension contract, which validates the -signatures and then fills the order through the Exchange contract. -If any `feeRecipientAddress` in the batch is not registered to a coordinator server, the whole batch fails. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmount` | `BigNumber` | - | Taker asset fill amount. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### marketSellOrdersNoThrowAsync - -▸ **marketSellOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L417)* - -No throw version of marketSellOrdersAsync - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmount` | `BigNumber` | - | Taker asset fill amount. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | - -**Returns:** *`Promise`* - -Transaction hash. - -___ - -### softCancelOrderAsync - -▸ **softCancelOrderAsync**(`order`: `Order` | `SignedOrder`): *`Promise`* - -*Defined in [contract-wrappers/src/coordinator_wrapper.ts:447](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L447)* - -Soft cancel a given order. -Soft cancels are recorded only on coordinator operator servers and do not involve an Ethereum transaction. -See [soft cancels](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#soft-cancels). - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`order` | `Order` \| `SignedOrder` | An object that conforms to the Order or SignedOrder interface. The order you would like to cancel. | - -**Returns:** *`Promise`* - -CoordinatorServerCancellationResponse. See [Cancellation Response](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#response). - -
- -# Class: MetamaskSubprovider - -This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) -subprovider interface and the provider sendAsync interface. -It handles inconsistencies with Metamask implementations of various JSON RPC methods. -It forwards JSON RPC requests involving the domain of a signer (getAccounts, -sendTransaction, signMessage etc...) to the provider instance supplied at instantiation. All other requests -are passed onwards for subsequent subproviders to handle. - - -## Constructors - - - -\+ **new MetamaskSubprovider**(`supportedProvider`: [SupportedProvider](#supportedprovider)): *[MetamaskSubprovider](#class-metamasksubprovider)* - -*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/metamask_subprovider.ts#L19)* - -Instantiates a new MetamaskSubprovider - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | Web3 provider that should handle all user account related requests | - -**Returns:** *[MetamaskSubprovider](#class-metamasksubprovider)* - -## Methods - -### emitPayloadAsync - -▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* - - - -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* - -Emits a JSON RPC payload that will then be handled by the ProviderEngine instance -this subprovider is a part of. The payload will cascade down the subprovider middleware -stack until finding the responsible entity for handling the request. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`payload` | `Partial` | JSON RPC payload | - -**Returns:** *`Promise`* - -JSON RPC response payload - -___ - -### handleRequest - -▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [Callback](#callback), `end`: [ErrorCallback](#errorcallback)): *`Promise`* - -*Overrides void* - -*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/metamask_subprovider.ts#L39)* - -This method conforms to the web3-provider-engine interface. -It is called internally by the ProviderEngine when it is this subproviders -turn to handle a JSON RPC request. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`payload` | `JSONRPCRequestPayload` | JSON RPC payload | -`next` | [Callback](#callback) | Callback to call if this subprovider decides not to handle the request | -`end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | - -**Returns:** *`Promise`* - -___ - -### sendAsync - -▸ **sendAsync**(`payload`: `JSONRPCRequestPayload`, `callback`: [ErrorCallback](#errorcallback)): *void* - -*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:117](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/metamask_subprovider.ts#L117)* - -This method conforms to the provider sendAsync interface. -Allowing the MetamaskSubprovider to be used as a generic provider (outside of Web3ProviderEngine) with the -addition of wrapping the inconsistent Metamask behaviour - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`payload` | `JSONRPCRequestPayload` | JSON RPC payload | -`callback` | [ErrorCallback](#errorcallback) | - | - -**Returns:** *void* - -The contents nested under the result key of the response body - -___ - -### setEngine - -▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* - - - -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* - -Set's the subprovider's engine to the ProviderEngine it is added to. -This is only called within the ProviderEngine source code, do not call -directly. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | - -**Returns:** *void* - -
- -# Class: RPCSubprovider - -This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. -It forwards on JSON RPC requests to the supplied `rpcUrl` endpoint - - -## Constructors - - - -\+ **new RPCSubprovider**(`rpcUrl`: string, `requestTimeoutMs`: number): *[RPCSubprovider](#class-rpcsubprovider)* - -*Defined in [subproviders/src/subproviders/rpc_subprovider.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/rpc_subprovider.ts#L17)* - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`rpcUrl` | string | - | URL to the backing Ethereum node to which JSON RPC requests should be sent | -`requestTimeoutMs` | number | 20000 | Amount of miliseconds to wait before timing out the JSON RPC request | - -**Returns:** *[RPCSubprovider](#class-rpcsubprovider)* - -## Methods - -### emitPayloadAsync - -▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* - - - -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* - -Emits a JSON RPC payload that will then be handled by the ProviderEngine instance -this subprovider is a part of. The payload will cascade down the subprovider middleware -stack until finding the responsible entity for handling the request. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`payload` | `Partial` | JSON RPC payload | - -**Returns:** *`Promise`* - -JSON RPC response payload - -___ - -### handleRequest - -▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `_next`: [Callback](#callback), `end`: [ErrorCallback](#errorcallback)): *`Promise`* - -*Overrides void* - -*Defined in [subproviders/src/subproviders/rpc_subprovider.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/rpc_subprovider.ts#L38)* - -This method conforms to the web3-provider-engine interface. -It is called internally by the ProviderEngine when it is this subproviders -turn to handle a JSON RPC request. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`payload` | `JSONRPCRequestPayload` | JSON RPC payload | -`_next` | [Callback](#callback) | Callback to call if this subprovider decides not to handle the request | -`end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | - -**Returns:** *`Promise`* - -___ - -### setEngine - -▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* - - - -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* - -Set's the subprovider's engine to the ProviderEngine it is added to. -This is only called within the ProviderEngine source code, do not call -directly. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | - -**Returns:** *void* - -
- -# Class: AbiDecoder - -AbiDecoder allows you to decode event logs given a set of supplied contract ABI's. It takes the contract's event -signature from the ABI and attempts to decode the logs using it. - - -## Constructors - - - -\+ **new AbiDecoder**(`abiArrays`: [AbiDefinition](#abidefinition)[][]): *[AbiDecoder](#class-abidecoder)* - -*Defined in [utils/src/abi_decoder.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/utils/src/abi_decoder.ts#L42)* - -Instantiate an AbiDecoder - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`abiArrays` | [AbiDefinition](#abidefinition)[][] | An array of contract ABI's | - -**Returns:** *[AbiDecoder](#class-abidecoder)* - -AbiDecoder instance - -## Methods - -### addABI - -▸ **addABI**(`abiArray`: [AbiDefinition](#abidefinition)[], `contractName?`: undefined | string): *void* - -*Defined in [utils/src/abi_decoder.ts:158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/utils/src/abi_decoder.ts#L158)* - -Adds a set of ABI definitions, after which calldata and logs targeting these ABI's can be decoded. -Additional properties can be included to disambiguate similar ABI's. For example, if two functions -have the same signature but different parameter names, then their ABI definitions can be disambiguated -by specifying a contract name. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`abiArray` | [AbiDefinition](#abidefinition)[] | - | -`contractName?` | undefined \| string | Name of contract that encapsulates the ABI definitions (optional). This can be used when decoding calldata to disambiguate methods with the same signature but different parameter names. | - -**Returns:** *void* - -___ - -### decodeCalldataOrThrow - -▸ **decodeCalldataOrThrow**(`calldata`: string, `contractName?`: undefined | string): *`DecodedCalldata`* - -*Defined in [utils/src/abi_decoder.ts:118](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/utils/src/abi_decoder.ts#L118)* - -Decodes calldata for a known ABI. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`calldata` | string | hex-encoded calldata. | -`contractName?` | undefined \| string | used to disambiguate similar ABI's (optional). | - -**Returns:** *`DecodedCalldata`* - -Decoded calldata. Includes: function name and signature, along with the decoded arguments. - -___ - -### tryToDecodeLogOrNoop - -▸ **tryToDecodeLogOrNoop**<**ArgsType**>(`log`: `LogEntry`): *`LogWithDecodedArgs` | [RawLog](#rawlog)* - -*Defined in [utils/src/abi_decoder.ts:58](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/utils/src/abi_decoder.ts#L58)* - -Attempt to decode a log given the ABI's the AbiDecoder knows about. - -**Type parameters:** - -▪ **ArgsType**: *`DecodedLogArgs`* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`log` | `LogEntry` | The log to attempt to decode | - -**Returns:** *`LogWithDecodedArgs` | [RawLog](#rawlog)* - -The decoded log if the requisite ABI was available. Otherwise the log unaltered. - -
- -# Enumeration: CoordinatorRegistryEvents - - -## Enumeration members - -### CoordinatorEndpointSet - -• **CoordinatorEndpointSet**: = "CoordinatorEndpointSet" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L37)* - -
- -# Enumeration: DummyERC20TokenEvents - - -## Enumeration members - -### Approval - -• **Approval**: = "Approval" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L38)* - -___ - -### Transfer - -• **Transfer**: = "Transfer" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L37)* - -
- -# Enumeration: DummyERC721TokenEvents - - -## Enumeration members - -### Approval - -• **Approval**: = "Approval" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L41)* - -___ - -### ApprovalForAll - -• **ApprovalForAll**: = "ApprovalForAll" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L42)* - -___ - -### Transfer - -• **Transfer**: = "Transfer" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L40)* - -
- -# Enumeration: ERC1155ProxyEvents - - -## Enumeration members - -### AuthorizedAddressAdded - -• **AuthorizedAddressAdded**: = "AuthorizedAddressAdded" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L39)* - -___ - -### AuthorizedAddressRemoved - -• **AuthorizedAddressRemoved**: = "AuthorizedAddressRemoved" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L40)* - -
- -# Enumeration: ERC20ProxyEvents - - -## Enumeration members - -### AuthorizedAddressAdded - -• **AuthorizedAddressAdded**: = "AuthorizedAddressAdded" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L39)* - -___ - -### AuthorizedAddressRemoved - -• **AuthorizedAddressRemoved**: = "AuthorizedAddressRemoved" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L40)* - -
- -# Enumeration: ERC20TokenEvents - - -## Enumeration members - -### Approval - -• **Approval**: = "Approval" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L38)* - -___ - -### Transfer - -• **Transfer**: = "Transfer" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L37)* - -
- -# Enumeration: ERC721ProxyEvents - - -## Enumeration members - -### AuthorizedAddressAdded - -• **AuthorizedAddressAdded**: = "AuthorizedAddressAdded" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L39)* - -___ - -### AuthorizedAddressRemoved - -• **AuthorizedAddressRemoved**: = "AuthorizedAddressRemoved" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L40)* - -
- -# Enumeration: ERC721TokenEvents - - -## Enumeration members - -### Approval - -• **Approval**: = "Approval" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L41)* - -___ - -### ApprovalForAll - -• **ApprovalForAll**: = "ApprovalForAll" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L42)* - -___ - -### Transfer - -• **Transfer**: = "Transfer" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L40)* - -
- -# Enumeration: ExchangeEvents - - -## Enumeration members - -### AssetProxyRegistered - -• **AssetProxyRegistered**: = "AssetProxyRegistered" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:46](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L46)* - -___ - -### Cancel - -• **Cancel**: = "Cancel" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L44)* - -___ - -### CancelUpTo - -• **CancelUpTo**: = "CancelUpTo" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L45)* - -___ - -### Fill - -• **Fill**: = "Fill" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L43)* - -___ - -### SignatureValidatorApproval - -• **SignatureValidatorApproval**: = "SignatureValidatorApproval" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L42)* - -
- -# Enumeration: WETH9Events - - -## Enumeration members - -### Approval - -• **Approval**: = "Approval" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L41)* - -___ - -### Deposit - -• **Deposit**: = "Deposit" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L43)* - -___ - -### Transfer - -• **Transfer**: = "Transfer" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L42)* - -___ - -### Withdrawal - -• **Withdrawal**: = "Withdrawal" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L44)* - -
- -# Enumeration: ZRXTokenEvents - - -## Enumeration members - -### Approval - -• **Approval**: = "Approval" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L38)* - -___ - -### Transfer - -• **Transfer**: = "Transfer" - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L37)* - -
- - - - - - - -# Enumeration: OrderStatus - - -## Enumeration members - -### Cancelled - -• **Cancelled**: - -*Defined in [contract-wrappers/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L91)* - -___ - -### Expired - -• **Expired**: - -*Defined in [contract-wrappers/src/types.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L89)* - -___ - -### Fillable - -• **Fillable**: - -*Defined in [contract-wrappers/src/types.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L88)* - -___ - -### FullyFilled - -• **FullyFilled**: - -*Defined in [contract-wrappers/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L90)* - -___ - -### Invalid - -• **Invalid**: = 0 - -*Defined in [contract-wrappers/src/types.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L85)* - -___ - -### InvalidMakerAssetAmount - -• **InvalidMakerAssetAmount**: - -*Defined in [contract-wrappers/src/types.ts:86](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L86)* - -___ - -### InvalidTakerAssetAmount - -• **InvalidTakerAssetAmount**: - -*Defined in [contract-wrappers/src/types.ts:87](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L87)* - -
- - - -# Enumeration: BlockParamLiteral - - -## Enumeration members - -### Earliest - -• **Earliest**: = "earliest" - -*Defined in [ethereum-types/src/index.ts:470](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L470)* - -___ - -### Latest - -• **Latest**: = "latest" - -*Defined in [ethereum-types/src/index.ts:471](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L471)* - -___ - -### Pending - -• **Pending**: = "pending" - -*Defined in [ethereum-types/src/index.ts:472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L472)* - -
- - - - - - - - - - - -# Enumeration: AssetProxyId - - -## Enumeration members - -### ERC1155 - -• **ERC1155**: = "0xa7cb5fb7" - -*Defined in [types/src/index.ts:171](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L171)* - -___ - -### ERC20 - -• **ERC20**: = "0xf47261b0" - -*Defined in [types/src/index.ts:168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L168)* - -___ - -### ERC721 - -• **ERC721**: = "0x02571792" - -*Defined in [types/src/index.ts:169](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L169)* - -___ - -### MultiAsset - -• **MultiAsset**: = "0x94cfcdd7" - -*Defined in [types/src/index.ts:170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L170)* - -___ - -### StaticCall - -• **StaticCall**: = "0xc339d10a" - -*Defined in [types/src/index.ts:172](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L172)* - -
- - - - - - - - - -# Enumeration: SignatureType - - -## Enumeration members - -### EIP712 - -• **EIP712**: - -*Defined in [types/src/index.ts:159](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L159)* - -___ - -### EthSign - -• **EthSign**: - -*Defined in [types/src/index.ts:160](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L160)* - -___ - -### Illegal - -• **Illegal**: - -*Defined in [types/src/index.ts:157](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L157)* - -___ - -### Invalid - -• **Invalid**: - -*Defined in [types/src/index.ts:158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L158)* - -___ - -### NSignatureTypes - -• **NSignatureTypes**: - -*Defined in [types/src/index.ts:164](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L164)* - -___ - -### PreSigned - -• **PreSigned**: - -*Defined in [types/src/index.ts:163](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L163)* - -___ - -### Validator - -• **Validator**: - -*Defined in [types/src/index.ts:162](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L162)* - -___ - -### Wallet - -• **Wallet**: - -*Defined in [types/src/index.ts:161](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L161)* - -
- - - - - - - - - - - -
- -# Interface: CoordinatorRegistryCoordinatorEndpointSetEventArgs - - -## Index - -### Properties - -* [coordinatorEndpoint](#coordinatorendpoint) -* [coordinatorOperator](#coordinatoroperator) - -## Properties - -### coordinatorEndpoint - -• **coordinatorEndpoint**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L42)* - -___ - -### coordinatorOperator - -• **coordinatorOperator**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L41)* - -
- -# Interface: DummyERC20TokenApprovalEventArgs - - -## Index - -### Properties - -* [_owner](#_owner) -* [_spender](#_spender) -* [_value](#_value) - -## Properties - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L48)* - -___ - -### _spender - -• **_spender**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L49)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L50)* - -
- -# Interface: DummyERC20TokenTransferEventArgs - - -## Index - -### Properties - -* [_from](#_from) -* [_to](#_to) -* [_value](#_value) - -## Properties - -### _from - -• **_from**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L42)* - -___ - -### _to - -• **_to**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L43)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L44)* - -
- -# Interface: DummyERC721TokenApprovalEventArgs - - -## Index - -### Properties - -* [_approved](#_approved) -* [_owner](#_owner) -* [_tokenId](#_tokenid) - -## Properties - -### _approved - -• **_approved**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L53)* - -___ - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L52)* - -___ - -### _tokenId - -• **_tokenId**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L54)* - -
- -# Interface: DummyERC721TokenApprovalForAllEventArgs - - -## Index - -### Properties - -* [_approved](#_approved) -* [_operator](#_operator) -* [_owner](#_owner) - -## Properties - -### _approved - -• **_approved**: *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L60)* - -___ - -### _operator - -• **_operator**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L59)* - -___ - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:58](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L58)* - -
- -# Interface: DummyERC721TokenTransferEventArgs - - -## Index - -### Properties - -* [_from](#_from) -* [_to](#_to) -* [_tokenId](#_tokenid) - -## Properties - -### _from - -• **_from**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:46](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L46)* - -___ - -### _to - -• **_to**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:47](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L47)* - -___ - -### _tokenId - -• **_tokenId**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L48)* - -
- -# Interface: ERC1155ProxyAuthorizedAddressAddedEventArgs - - -## Index - -### Properties - -* [caller](#caller) -* [target](#target) - -## Properties - -### caller - -• **caller**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L45)* - -___ - -### target - -• **target**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L44)* - -
- -# Interface: ERC1155ProxyAuthorizedAddressRemovedEventArgs - - -## Index - -### Properties - -* [caller](#caller) -* [target](#target) - -## Properties - -### caller - -• **caller**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L50)* - -___ - -### target - -• **target**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L49)* - -
- -# Interface: ERC20ProxyAuthorizedAddressAddedEventArgs - - -## Index - -### Properties - -* [caller](#caller) -* [target](#target) - -## Properties - -### caller - -• **caller**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L45)* - -___ - -### target - -• **target**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L44)* - -
- -# Interface: ERC20ProxyAuthorizedAddressRemovedEventArgs - - -## Index - -### Properties - -* [caller](#caller) -* [target](#target) - -## Properties - -### caller - -• **caller**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L50)* - -___ - -### target - -• **target**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L49)* - -
- -# Interface: ERC20TokenApprovalEventArgs - - -## Index - -### Properties - -* [_owner](#_owner) -* [_spender](#_spender) -* [_value](#_value) - -## Properties - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L48)* - -___ - -### _spender - -• **_spender**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L49)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L50)* - -
- -# Interface: ERC20TokenTransferEventArgs - - -## Index - -### Properties - -* [_from](#_from) -* [_to](#_to) -* [_value](#_value) - -## Properties - -### _from - -• **_from**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L42)* - -___ - -### _to - -• **_to**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L43)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L44)* - -
- -# Interface: ERC721ProxyAuthorizedAddressAddedEventArgs - - -## Index - -### Properties - -* [caller](#caller) -* [target](#target) - -## Properties - -### caller - -• **caller**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L45)* - -___ - -### target - -• **target**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L44)* - -
- -# Interface: ERC721ProxyAuthorizedAddressRemovedEventArgs - - -## Index - -### Properties - -* [caller](#caller) -* [target](#target) - -## Properties - -### caller - -• **caller**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L50)* - -___ - -### target - -• **target**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L49)* - -
- -# Interface: ERC721TokenApprovalEventArgs - - -## Index - -### Properties - -* [_approved](#_approved) -* [_owner](#_owner) -* [_tokenId](#_tokenid) - -## Properties - -### _approved - -• **_approved**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L53)* - -___ - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L52)* - -___ - -### _tokenId - -• **_tokenId**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L54)* - -
- -# Interface: ERC721TokenApprovalForAllEventArgs - - -## Index - -### Properties - -* [_approved](#_approved) -* [_operator](#_operator) -* [_owner](#_owner) - -## Properties - -### _approved - -• **_approved**: *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L60)* - -___ - -### _operator - -• **_operator**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L59)* - -___ - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:58](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L58)* - -
- -# Interface: ERC721TokenTransferEventArgs - - -## Index - -### Properties - -* [_from](#_from) -* [_to](#_to) -* [_tokenId](#_tokenid) - -## Properties - -### _from - -• **_from**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:46](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L46)* - -___ - -### _to - -• **_to**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:47](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L47)* - -___ - -### _tokenId - -• **_tokenId**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L48)* - -
- -# Interface: ExchangeAssetProxyRegisteredEventArgs - - -## Index - -### Properties - -* [assetProxy](#assetproxy) -* [id](#id) - -## Properties - -### assetProxy - -• **assetProxy**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:86](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L86)* - -___ - -### id - -• **id**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L85)* - -
- -# Interface: ExchangeCancelEventArgs - - -## Index - -### Properties - -* [feeRecipientAddress](#feerecipientaddress) -* [makerAddress](#makeraddress) -* [makerAssetData](#makerassetdata) -* [orderHash](#orderhash) -* [senderAddress](#senderaddress) -* [takerAssetData](#takerassetdata) - -## Properties - -### feeRecipientAddress - -• **feeRecipientAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:71](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L71)* - -___ - -### makerAddress - -• **makerAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L70)* - -___ - -### makerAssetData - -• **makerAssetData**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L74)* - -___ - -### orderHash - -• **orderHash**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L73)* - -___ - -### senderAddress - -• **senderAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:72](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L72)* - -___ - -### takerAssetData - -• **takerAssetData**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L75)* - -
- -# Interface: ExchangeCancelUpToEventArgs - - -## Index - -### Properties - -* [makerAddress](#makeraddress) -* [orderEpoch](#orderepoch) -* [senderAddress](#senderaddress) - -## Properties - -### makerAddress - -• **makerAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L79)* - -___ - -### orderEpoch - -• **orderEpoch**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:81](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L81)* - -___ - -### senderAddress - -• **senderAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L80)* - -
- -# Interface: ExchangeFillEventArgs - - -## Index - -### Properties - -* [feeRecipientAddress](#feerecipientaddress) -* [makerAddress](#makeraddress) -* [makerAssetData](#makerassetdata) -* [makerAssetFilledAmount](#makerassetfilledamount) -* [makerFeePaid](#makerfeepaid) -* [orderHash](#orderhash) -* [senderAddress](#senderaddress) -* [takerAddress](#takeraddress) -* [takerAssetData](#takerassetdata) -* [takerAssetFilledAmount](#takerassetfilledamount) -* [takerFeePaid](#takerfeepaid) - -## Properties - -### feeRecipientAddress - -• **feeRecipientAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L57)* - -___ - -### makerAddress - -• **makerAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L56)* - -___ - -### makerAssetData - -• **makerAssetData**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:65](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L65)* - -___ - -### makerAssetFilledAmount - -• **makerAssetFilledAmount**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L60)* - -___ - -### makerFeePaid - -• **makerFeePaid**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:62](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L62)* - -___ - -### orderHash - -• **orderHash**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:64](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L64)* - -___ - -### senderAddress - -• **senderAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L59)* - -___ - -### takerAddress - -• **takerAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:58](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L58)* - -___ - -### takerAssetData - -• **takerAssetData**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L66)* - -___ - -### takerAssetFilledAmount - -• **takerAssetFilledAmount**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:61](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L61)* - -___ - -### takerFeePaid - -• **takerFeePaid**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L63)* - -
- -# Interface: ExchangeSignatureValidatorApprovalEventArgs - - -## Index - -### Properties - -* [approved](#approved) -* [signerAddress](#signeraddress) -* [validatorAddress](#validatoraddress) - -## Properties - -### approved - -• **approved**: *boolean* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L52)* - -___ - -### signerAddress - -• **signerAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L50)* - -___ - -### validatorAddress - -• **validatorAddress**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:51](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L51)* - -
- -# Interface: WETH9ApprovalEventArgs - - -## Index - -### Properties - -* [_owner](#_owner) -* [_spender](#_spender) -* [_value](#_value) - -## Properties - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L48)* - -___ - -### _spender - -• **_spender**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L49)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L50)* - -
- -# Interface: WETH9DepositEventArgs - - -## Index - -### Properties - -* [_owner](#_owner) -* [_value](#_value) - -## Properties - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L60)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:61](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L61)* - -
- -# Interface: WETH9TransferEventArgs - - -## Index - -### Properties - -* [_from](#_from) -* [_to](#_to) -* [_value](#_value) - -## Properties - -### _from - -• **_from**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L54)* - -___ - -### _to - -• **_to**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L55)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L56)* - -
- -# Interface: WETH9WithdrawalEventArgs - - -## Index - -### Properties - -* [_owner](#_owner) -* [_value](#_value) - -## Properties - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:65](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L65)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L66)* - -
- -# Interface: ZRXTokenApprovalEventArgs - - -## Index - -### Properties - -* [_owner](#_owner) -* [_spender](#_spender) -* [_value](#_value) - -## Properties - -### _owner - -• **_owner**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L48)* - -___ - -### _spender - -• **_spender**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L49)* - -___ - -### _value - -• **_value**: *`BigNumber`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L50)* - -
- -# Interface: ZRXTokenTransferEventArgs - - -## Index - -### Properties - -* [_from](#_from) -* [_to](#_to) -* [_value](#_value) - -## Properties - -### _from - -• **_from**: *string* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L42)* - -___ - -### _to +### Approval -• **_to**: *string* +• **Approval**: = "Approval" -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L43)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L32)* ___ -### _value +### Transfer -• **_value**: *`BigNumber`* +• **Transfer**: = "Transfer" -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L44)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L31)*
-# Interface: ContractAddresses +# Enumeration: ERC721TokenEvents -## Properties +## Enumeration members -### assetProxyOwner +### Approval -• **assetProxyOwner**: *string* +• **Approval**: = "Approval" -*Defined in [contract-addresses/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L9)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L34)* ___ -### coordinator +### ApprovalForAll -• **coordinator**: *string* +• **ApprovalForAll**: = "ApprovalForAll" -*Defined in [contract-addresses/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L14)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L35)* ___ -### coordinatorRegistry +### Transfer -• **coordinatorRegistry**: *string* +• **Transfer**: = "Transfer" -*Defined in [contract-addresses/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L13)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L36)* -___ +
-### devUtils +# Enumeration: ExchangeEvents -• **devUtils**: *string* -*Defined in [contract-addresses/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L18)* +## Enumeration members + +### AssetProxyRegistered + +• **AssetProxyRegistered**: = "AssetProxyRegistered" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L39)* ___ -### dutchAuction +### Cancel -• **dutchAuction**: *string* +• **Cancel**: = "Cancel" -*Defined in [contract-addresses/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L12)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L40)* ___ -### erc1155Proxy +### CancelUpTo -• **erc1155Proxy**: *string* +• **CancelUpTo**: = "CancelUpTo" -*Defined in [contract-addresses/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L17)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L41)* ___ -### erc20Proxy +### Fill -• **erc20Proxy**: *string* +• **Fill**: = "Fill" -*Defined in [contract-addresses/src/index.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L4)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L42)* ___ -### erc721Proxy +### ProtocolFeeCollectorAddress -• **erc721Proxy**: *string* +• **ProtocolFeeCollectorAddress**: = "ProtocolFeeCollectorAddress" -*Defined in [contract-addresses/src/index.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L5)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L43)* ___ -### etherToken +### ProtocolFeeMultiplier -• **etherToken**: *string* +• **ProtocolFeeMultiplier**: = "ProtocolFeeMultiplier" -*Defined in [contract-addresses/src/index.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L7)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L44)* ___ -### exchange +### SignatureValidatorApproval -• **exchange**: *string* +• **SignatureValidatorApproval**: = "SignatureValidatorApproval" -*Defined in [contract-addresses/src/index.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L8)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L45)* ___ -### forwarder +### TransactionExecution -• **forwarder**: *string* +• **TransactionExecution**: = "TransactionExecution" -*Defined in [contract-addresses/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L10)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L46)* -___ +
-### multiAssetProxy +# Enumeration: WETH9Events -• **multiAssetProxy**: *string* -*Defined in [contract-addresses/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L15)* +## Enumeration members + +### Approval + +• **Approval**: = "Approval" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L35)* ___ -### orderValidator +### Deposit -• **orderValidator**: *string* +• **Deposit**: = "Deposit" -*Defined in [contract-addresses/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L11)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L37)* ___ -### staticCallProxy +### Transfer -• **staticCallProxy**: *string* +• **Transfer**: = "Transfer" -*Defined in [contract-addresses/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L16)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L36)* ___ -### zrxToken +### Withdrawal -• **zrxToken**: *string* +• **Withdrawal**: = "Withdrawal" -*Defined in [contract-addresses/src/index.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L6)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L38)*
-# Interface: ContractWrappersConfig - -networkId: The id of the underlying ethereum network your provider is connected to. (1-mainnet, 3-ropsten, 4-rinkeby, 42-kovan, 50-testrpc) -gasPrice: Gas price to use with every transaction -contractAddresses: The address of all contracts to use. Defaults to the known addresses based on networkId. -blockPollingIntervalMs: The interval to use for block polling in event watching methods (defaults to 1000) +# Enumeration: ZRXTokenEvents -## Properties +## Enumeration members -### `Optional` blockPollingIntervalMs +### Approval -• **blockPollingIntervalMs**? : *undefined | number* +• **Approval**: = "Approval" -*Defined in [contract-wrappers/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L56)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L32)* ___ -### `Optional` contractAddresses +### Transfer -• **contractAddresses**? : *[ContractAddresses](#class-contractaddresses)* +• **Transfer**: = "Transfer" -*Defined in [contract-wrappers/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L55)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L31)* -___ +
-### `Optional` gasPrice +# Enumeration: NetworkId -• **gasPrice**? : *`BigNumber`* -*Defined in [contract-wrappers/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L54)* +## Enumeration members -___ +### Ganache -### networkId +• **Ganache**: = 50 -• **networkId**: *number* +*Defined in [contract-addresses/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L26)* -*Defined in [contract-wrappers/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L53)* +___ -
+### Kovan +• **Kovan**: = 42 +*Defined in [contract-addresses/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L25)* -# Interface: DecodedLogEvent <**ArgsType**> +___ -## Type parameters +### Mainnet -▪ **ArgsType**: *`DecodedLogArgs`* +• **Mainnet**: = 1 +*Defined in [contract-addresses/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L22)* -## Properties +___ -### isRemoved +### Rinkeby -• **isRemoved**: *boolean* +• **Rinkeby**: = 4 -*Defined in [contract-wrappers/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L7)* +*Defined in [contract-addresses/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L24)* ___ -### log +### Ropsten -• **log**: *`LogWithDecodedArgs`* +• **Ropsten**: = 3 -*Defined in [contract-wrappers/src/types.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L8)* +*Defined in [contract-addresses/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L23)*
-# Interface: IndexedFilterValues -## Hierarchy +# Enumeration: BlockParamLiteral + -* **OrderAndTraderInfo** +## Enumeration members +### Earliest -## Properties +• **Earliest**: = "earliest" -### orderInfo +*Defined in [ethereum-types/src/index.ts:478](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L478)* -• **orderInfo**: *[OrderInfo](#class-orderinfo)* +___ + +### Latest + +• **Latest**: = "latest" -*Defined in [contract-wrappers/src/types.ts:106](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L106)* +*Defined in [ethereum-types/src/index.ts:479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L479)* ___ -### traderInfo +### Pending -• **traderInfo**: *[TraderInfo](#class-traderinfo)* +• **Pending**: = "pending" -*Defined in [contract-wrappers/src/types.ts:107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L107)* +*Defined in [ethereum-types/src/index.ts:480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L480)*
-# Interface: OrderInfo -## Properties -### orderHash -• **orderHash**: *string* -*Defined in [contract-wrappers/src/types.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L80)* -___ -### orderStatus -• **orderStatus**: *[OrderStatus](#enumeration-orderstatus)* -*Defined in [contract-wrappers/src/types.ts:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L79)* -___ +# Enumeration: AssetProxyId -### orderTakerAssetFilledAmount -• **orderTakerAssetFilledAmount**: *`BigNumber`* +## Enumeration members -*Defined in [contract-wrappers/src/types.ts:81](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L81)* +### ERC1155 -
+• **ERC1155**: = "0xa7cb5fb7" -# Interface: OrderTransactionOpts +*Defined in [types/src/index.ts:166](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L166)* -shouldValidate: Flag indicating whether the library should make attempts to validate a transaction before -broadcasting it. For example, order has a valid signature, maker has sufficient funds, etc. Default=true. +___ +### ERC20 -## Properties +• **ERC20**: = "0xf47261b0" -### `Optional` gasLimit +*Defined in [types/src/index.ts:163](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L163)* -• **gasLimit**? : *undefined | number* +___ -*Inherited from [TransactionOpts](#interface-transactionopts).[gasLimit](#optional-gaslimit)* +### ERC20Bridge -*Defined in [contract-wrappers/src/types.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L66)* +• **ERC20Bridge**: = "0xdc1600f3" -___ +*Defined in [types/src/index.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L168)* -### `Optional` gasPrice +___ -• **gasPrice**? : *`BigNumber`* +### ERC721 -*Inherited from [TransactionOpts](#interface-transactionopts).[gasPrice](#optional-gasprice)* +• **ERC721**: = "0x02571792" -*Defined in [contract-wrappers/src/types.ts:65](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L65)* +*Defined in [types/src/index.ts:164](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L164)* ___ -### `Optional` nonce - -• **nonce**? : *undefined | number* +### MultiAsset -*Inherited from [TransactionOpts](#interface-transactionopts).[nonce](#optional-nonce)* +• **MultiAsset**: = "0x94cfcdd7" -*Defined in [contract-wrappers/src/types.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L67)* +*Defined in [types/src/index.ts:165](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L165)* ___ -### `Optional` shouldValidate +### StaticCall -• **shouldValidate**? : *undefined | false | true* +• **StaticCall**: = "0xc339d10a" -*Defined in [contract-wrappers/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L75)* +*Defined in [types/src/index.ts:167](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L167)*
@@ -26633,2305 +15838,2102 @@ ___ -# Interface: BlockRange -## Properties -### fromBlock -• **fromBlock**: *[BlockParam](#blockparam)* +# Enumeration: SignatureType -*Defined in [ethereum-types/src/index.ts:732](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L732)* -___ +## Enumeration members -### toBlock +### EIP1271Wallet -• **toBlock**: *[BlockParam](#blockparam)* +• **EIP1271Wallet**: -*Defined in [ethereum-types/src/index.ts:733](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L733)* +*Defined in [types/src/index.ts:158](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L158)* -
+___ +### EIP712 +• **EIP712**: +*Defined in [types/src/index.ts:153](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L153)* +___ -# Interface: CallData +### EthSign +• **EthSign**: -## Properties +*Defined in [types/src/index.ts:154](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L154)* -### `Optional` data +___ -• **data**? : *undefined | string* +### Illegal -*Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* +• **Illegal**: -*Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [types/src/index.ts:151](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L151)* ___ -### `Optional` from +### Invalid -• **from**? : *undefined | string* +• **Invalid**: -*Defined in [ethereum-types/src/index.ts:396](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L396)* +*Defined in [types/src/index.ts:152](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L152)* ___ -### `Optional` gas - -• **gas**? : *number | string | `BigNumber`* +### NSignatureTypes -*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* +• **NSignatureTypes**: -*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [types/src/index.ts:159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L159)* ___ -### `Optional` gasPrice - -• **gasPrice**? : *number | string | `BigNumber`* +### PreSigned -*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* +• **PreSigned**: -*Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [types/src/index.ts:157](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L157)* ___ -### `Optional` nonce - -• **nonce**? : *undefined | number* +### Validator -*Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* +• **Validator**: -*Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [types/src/index.ts:156](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L156)* ___ -### `Optional` to +### Wallet -• **to**? : *undefined | string* +• **Wallet**: -*Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* +*Defined in [types/src/index.ts:155](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L155)* -*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +
-___ -### `Optional` value -• **value**? : *number | string | `BigNumber`* -*Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)* -
+# Interface: ERC20TokenApprovalEventArgs -# Interface: CompilerOpts +## Index +### Properties -## Properties +* [_owner](#_owner) +* [_spender](#_spender) +* [_value](#_value) -### name +## Properties -• **name**: *"solc"* +### _owner + +• **_owner**: *string* -*Defined in [ethereum-types/src/index.ts:647](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L647)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L42)* ___ -### settings +### _spender -• **settings**: *[CompilerSettings](#class-compilersettings)* +• **_spender**: *string* -*Defined in [ethereum-types/src/index.ts:649](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L649)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L43)* ___ -### version +### _value -• **version**: *string* +• **_value**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:648](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L648)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L44)*
-# Interface: CompilerSettings - +# Interface: ERC20TokenTransferEventArgs -## Properties -### `Optional` evmVersion +## Index -• **evmVersion**? : *"homestead" | "tangerineWhistle" | "spuriousDragon" | "byzantium" | "constantinople"* +### Properties -*Defined in [ethereum-types/src/index.ts:681](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L681)* +* [_from](#_from) +* [_to](#_to) +* [_value](#_value) -___ +## Properties -### `Optional` libraries +### _from -• **libraries**? : *undefined | object* +• **_from**: *string* -*Defined in [ethereum-types/src/index.ts:683](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L683)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L36)* ___ -### `Optional` metadata +### _to -• **metadata**? : *[CompilerSettingsMetadata](#class-compilersettingsmetadata)* +• **_to**: *string* -*Defined in [ethereum-types/src/index.ts:682](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L682)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L37)* ___ -### `Optional` optimizer +### _value -• **optimizer**? : *[OptimizerSettings](#class-optimizersettings)* +• **_value**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:680](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L680)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L38)* -___ +
-### outputSelection +# Interface: ERC721TokenApprovalEventArgs -• **outputSelection**: *object* -*Defined in [ethereum-types/src/index.ts:688](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L688)* +## Index -#### Type declaration: +### Properties -● \[▪ **fileName**: *string*\]: object +* [_approved](#_approved) +* [_owner](#_owner) +* [_tokenId](#_tokenid) -● \[▪ **contractName**: *string*\]: [OutputField](#outputfield)[] +## Properties -___ +### _approved -### `Optional` remappings +• **_approved**: *string* -• **remappings**? : *string[]* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L41)* -*Defined in [ethereum-types/src/index.ts:679](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L679)* +___ -
+### _owner -# Interface: CompilerSettingsMetadata +• **_owner**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L40)* -## Properties +___ -### useLiteralContent +### _tokenId -• **useLiteralContent**: *true* +• **_tokenId**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:696](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L696)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L42)*
-# Interface: ConstructorAbi - +# Interface: ERC721TokenApprovalForAllEventArgs -## Properties -### inputs +## Index -• **inputs**: *[DataItem](#class-dataitem)[]* +### Properties -*Defined in [ethereum-types/src/index.ts:103](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L103)* +* [_approved](#_approved) +* [_operator](#_operator) +* [_owner](#_owner) -___ +## Properties -### payable +### _approved -• **payable**: *boolean* +• **_approved**: *boolean* -*Defined in [ethereum-types/src/index.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L104)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L48)* ___ -### stateMutability +### _operator -• **stateMutability**: *[ConstructorStateMutability](#constructorstatemutability)* +• **_operator**: *string* -*Defined in [ethereum-types/src/index.ts:105](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L105)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L47)* ___ -### type +### _owner -• **type**: *string* +• **_owner**: *string* -*Defined in [ethereum-types/src/index.ts:102](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L102)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L46)*
-# Interface: ContractArtifact +# Interface: ERC721TokenTransferEventArgs -This type defines the schema of the artifact.json file generated by Sol-compiler -schemaVersion: The version of the artifact schema -contractName: The contract name it represents -networks: Network specific information by network (address, id, constructor args, etc...) -compilerOutput: The Solidity compiler output generated from the specified compiler input -description (http://solidity.readthedocs.io/en/v0.4.24/using-the-compiler.html#compiler-input-and-output-json-description) -compiler: The compiler settings used -sourceCodes: The source code of the contract and all it's dependencies -sources: A mapping from source filePath to sourceMap id -sourceTreeHashHex: A unique hash generated from the contract source and that of it's dependencies. -If any of the sources change, the hash would change notifying us that a re-compilation is necessary +## Index -## Properties +### Properties -### compiler +* [_from](#_from) +* [_to](#_to) +* [_tokenId](#_tokenid) -• **compiler**: *[CompilerOpts](#class-compileropts)* +## Properties -*Inherited from [ContractVersionData](#interface-contractversiondata).[compiler](#compiler)* +### _from -*Defined in [ethereum-types/src/index.ts:633](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L633)* +• **_from**: *string* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L52)* -### compilerOutput +___ -• **compilerOutput**: *[StandardContractOutput](#class-standardcontractoutput)* +### _to -*Inherited from [ContractVersionData](#interface-contractversiondata).[compilerOutput](#compileroutput)* +• **_to**: *string* -*Defined in [ethereum-types/src/index.ts:643](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L643)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L53)* ___ -### contractName +### _tokenId -• **contractName**: *string* +• **_tokenId**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:667](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L667)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L54)* -___ +
-### networks +# Interface: ExchangeAssetProxyRegisteredEventArgs -• **networks**: *[ContractNetworks](#class-contractnetworks)* -*Defined in [ethereum-types/src/index.ts:668](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L668)* +## Index -___ +### Properties -### schemaVersion +* [assetProxy](#assetproxy) +* [id](#id) -• **schemaVersion**: *string* +## Properties + +### assetProxy -*Defined in [ethereum-types/src/index.ts:666](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L666)* +• **assetProxy**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L51)* ___ -### sourceCodes +### id -• **sourceCodes**: *object* +• **id**: *string* -*Inherited from [ContractVersionData](#interface-contractversiondata).[sourceCodes](#sourcecodes)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L50)* -*Defined in [ethereum-types/src/index.ts:639](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L639)* +
-#### Type declaration: +# Interface: ExchangeCancelEventArgs -● \[▪ **sourceName**: *string*\]: string -___ +## Index -### sourceTreeHashHex +### Properties -• **sourceTreeHashHex**: *string* +* [feeRecipientAddress](#feerecipientaddress) +* [makerAddress](#makeraddress) +* [makerAssetData](#makerassetdata) +* [orderHash](#orderhash) +* [senderAddress](#senderaddress) +* [takerAssetData](#takerassetdata) -*Inherited from [ContractVersionData](#interface-contractversiondata).[sourceTreeHashHex](#sourcetreehashhex)* +## Properties -*Defined in [ethereum-types/src/index.ts:642](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L642)* +### feeRecipientAddress -___ +• **feeRecipientAddress**: *string* -### sources +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L56)* -• **sources**: *object* +___ -*Inherited from [ContractVersionData](#interface-contractversiondata).[sources](#sources)* +### makerAddress -*Defined in [ethereum-types/src/index.ts:634](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L634)* +• **makerAddress**: *string* -#### Type declaration: +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L55)* -● \[▪ **sourceName**: *string*\]: object +___ -
+### makerAssetData -# Interface: ContractNetworkData +• **makerAssetData**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L57)* -## Properties +___ -### address +### orderHash -• **address**: *string* +• **orderHash**: *string* -*Defined in [ethereum-types/src/index.ts:546](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L546)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:60](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L60)* ___ -Args +### senderAddress -• **constructorArgs**: *string* +• **senderAddress**: *string* -*Defined in [ethereum-types/src/index.ts:550](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L550)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L59)* ___ -### links - -• **links**: *object* - -*Defined in [ethereum-types/src/index.ts:547](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L547)* +### takerAssetData -#### Type declaration: +• **takerAssetData**: *string* -● \[▪ **linkName**: *string*\]: string +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:58](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L58)*
-# Interface: ContractNetworks - +# Interface: ExchangeCancelUpToEventArgs -## Hierarchy -* **ContractVersionData** +## Index - * [ContractArtifact](#class-contractartifact) +### Properties +* [makerAddress](#makeraddress) +* [orderEpoch](#orderepoch) +* [orderSenderAddress](#ordersenderaddress) -## Properties +## Properties -### compiler +### makerAddress -• **compiler**: *[CompilerOpts](#class-compileropts)* +• **makerAddress**: *string* -*Defined in [ethereum-types/src/index.ts:633](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L633)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:64](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L64)* ___ -### compilerOutput +### orderEpoch -• **compilerOutput**: *[StandardContractOutput](#class-standardcontractoutput)* +• **orderEpoch**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:643](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L643)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:66](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L66)* ___ -### sourceCodes - -• **sourceCodes**: *object* +### orderSenderAddress -*Defined in [ethereum-types/src/index.ts:639](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L639)* +• **orderSenderAddress**: *string* -#### Type declaration: +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:65](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L65)* -● \[▪ **sourceName**: *string*\]: string +
-___ +# Interface: ExchangeFillEventArgs -### sourceTreeHashHex -• **sourceTreeHashHex**: *string* +## Index -*Defined in [ethereum-types/src/index.ts:642](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L642)* +### Properties -___ +* [feeRecipientAddress](#feerecipientaddress) +* [makerAddress](#makeraddress) +* [makerAssetData](#makerassetdata) +* [makerAssetFilledAmount](#makerassetfilledamount) +* [makerFeeAssetData](#makerfeeassetdata) +* [makerFeePaid](#makerfeepaid) +* [orderHash](#orderhash) +* [protocolFeePaid](#protocolfeepaid) +* [senderAddress](#senderaddress) +* [takerAddress](#takeraddress) +* [takerAssetData](#takerassetdata) +* [takerAssetFilledAmount](#takerassetfilledamount) +* [takerFeeAssetData](#takerfeeassetdata) +* [takerFeePaid](#takerfeepaid) -### sources +## Properties -• **sources**: *object* +### feeRecipientAddress -*Defined in [ethereum-types/src/index.ts:634](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L634)* +• **feeRecipientAddress**: *string* -#### Type declaration: +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:71](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L71)* -● \[▪ **sourceName**: *string*\]: object +___ -
+### makerAddress -# Interface: DataItem +• **makerAddress**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L70)* -## Properties +___ -### `Optional` components +### makerAssetData -• **components**? : *[DataItem](#class-dataitem)[]* +• **makerAssetData**: *string* -*Defined in [ethereum-types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L131)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:72](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L72)* ___ -### name +### makerAssetFilledAmount -• **name**: *string* +• **makerAssetFilledAmount**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:79](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L79)* ___ -### type +### makerFeeAssetData -• **type**: *string* +• **makerFeeAssetData**: *string* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L74)* -
+___ -# Interface: DecodedLogArgs +### makerFeePaid +• **makerFeePaid**: *`BigNumber`* -## Type parameters +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:81](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L81)* -▪ **A** +___ +### orderHash -## Properties +• **orderHash**: *string* -### address +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:76](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L76)* -• **address**: *string* +___ -*Inherited from [LogEntry](#interface-logentry).[address](#address)* +### protocolFeePaid + +• **protocolFeePaid**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:83](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L83)* ___ -### args +### senderAddress -• **args**: *`A`* +• **senderAddress**: *string* -*Defined in [ethereum-types/src/index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L78)* ___ -### blockHash - -• **blockHash**: *string | null* +### takerAddress -*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* +• **takerAddress**: *string* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L77)* ___ -### blockNumber - -• **blockNumber**: *number | null* +### takerAssetData -*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* +• **takerAssetData**: *string* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L73)* ___ -### data - -• **data**: *string* +### takerAssetFilledAmount -*Inherited from [LogEntry](#interface-logentry).[data](#data)* +• **takerAssetFilledAmount**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L80)* ___ -### event +### takerFeeAssetData -• **event**: *string* +• **takerFeeAssetData**: *string* -*Defined in [ethereum-types/src/index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L75)* ___ -### logIndex - -• **logIndex**: *number | null* +### takerFeePaid -*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* +• **takerFeePaid**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L82)* -___ +
-### topics +# Interface: ExchangeProtocolFeeCollectorAddressEventArgs -• **topics**: *string[]* -*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* +## Index -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +### Properties -___ +* [oldProtocolFeeCollector](#oldprotocolfeecollector) +* [updatedProtocolFeeCollector](#updatedprotocolfeecollector) -### transactionHash +## Properties -• **transactionHash**: *string* +### oldProtocolFeeCollector -*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* +• **oldProtocolFeeCollector**: *string* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:87](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L87)* ___ -### transactionIndex - -• **transactionIndex**: *number | null* +### updatedProtocolFeeCollector -*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* +• **updatedProtocolFeeCollector**: *string* -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:88](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L88)*
-# Interface: DecodedLogEntryEvent <**A**> +# Interface: ExchangeProtocolFeeMultiplierEventArgs -## Type parameters -▪ **A** +## Index +### Properties -## Properties +* [oldProtocolFeeMultiplier](#oldprotocolfeemultiplier) +* [updatedProtocolFeeMultiplier](#updatedprotocolfeemultiplier) -### address +## Properties -• **address**: *string* +### oldProtocolFeeMultiplier -*Inherited from [LogEntry](#interface-logentry).[address](#address)* +• **oldProtocolFeeMultiplier**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L92)* ___ -### args - -• **args**: *`A`* +### updatedProtocolFeeMultiplier -*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* +• **updatedProtocolFeeMultiplier**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L93)* -___ +
-### blockHash +# Interface: ExchangeSignatureValidatorApprovalEventArgs -• **blockHash**: *string | null* -*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* +## Index -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +### Properties -___ +* [isApproved](#isapproved) +* [signerAddress](#signeraddress) +* [validatorAddress](#validatoraddress) -### blockNumber +## Properties -• **blockNumber**: *number | null* +### isApproved -*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* +• **isApproved**: *boolean* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:99](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L99)* ___ -### data - -• **data**: *string* +### signerAddress -*Inherited from [LogEntry](#interface-logentry).[data](#data)* +• **signerAddress**: *string* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:97](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L97)* ___ -### event +### validatorAddress -• **event**: *string* +• **validatorAddress**: *string* -*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:98](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L98)* -*Defined in [ethereum-types/src/index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +
-___ +# Interface: ExchangeTransactionExecutionEventArgs -### logIndex -• **logIndex**: *number | null* +## Index -*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* +### Properties -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +* [transactionHash](#transactionhash) -___ +## Properties -### removed +### transactionHash -• **removed**: *boolean* +• **transactionHash**: *string* -*Defined in [ethereum-types/src/index.ts:415](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L415)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L103)* -___ +
-### topics +# Interface: WETH9ApprovalEventArgs -• **topics**: *string[]* -*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* +## Index -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +### Properties -___ +* [_owner](#_owner) +* [_spender](#_spender) +* [_value](#_value) -### transactionHash +## Properties -• **transactionHash**: *string* +### _owner -*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* +• **_owner**: *string* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L42)* ___ -### transactionIndex +### _spender -• **transactionIndex**: *number | null* +• **_spender**: *string* -*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L43)* -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +___ -
+### _value -# Interface: DevdocOutput +• **_value**: *`BigNumber`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L44)* -## Properties +
-### `Optional` author +# Interface: WETH9DepositEventArgs -• **author**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:620](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L620)* +## Index -___ +### Properties -### methods +* [_owner](#_owner) +* [_value](#_value) -• **methods**: *object* +## Properties -*Defined in [ethereum-types/src/index.ts:621](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L621)* +### _owner -#### Type declaration: +• **_owner**: *string* -● \[▪ **signature**: *string*\]: object +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L54)* ___ -### `Optional` title +### _value -• **title**? : *undefined | string* +• **_value**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:619](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L619)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L55)*
-# Interface: EIP1193Provider - +# Interface: WETH9TransferEventArgs -## Properties -### isEIP1193 +## Index -• **isEIP1193**: *boolean* +### Properties -*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L73)* +* [_from](#_from) +* [_to](#_to) +* [_value](#_value) -## Methods +## Properties -### on +### _from -▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* +• **_from**: *string* -*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L75)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L48)* -**Parameters:** +___ -▪ **event**: *[EIP1193Event](#eip1193event)* +### _to -▪ **listener**: *function* +• **_to**: *string* -▸ (`result`: any): *void* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L49)* -**Parameters:** +___ -Name | Type | ------- | ------ | -`result` | any | +### _value -**Returns:** *this* +• **_value**: *`BigNumber`* -___ +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L50)* -### send +
-▸ **send**(`method`: string, `params?`: any[]): *`Promise`* +# Interface: WETH9WithdrawalEventArgs -*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L74)* -**Parameters:** +## Index -Name | Type | ------- | ------ | -`method` | string | -`params?` | any[] | +### Properties -**Returns:** *`Promise`* +* [_owner](#_owner) +* [_value](#_value) -
+## Properties +### _owner +• **_owner**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L59)* +___ -# Interface: EvmBytecodeOutput +### _value +• **_value**: *`BigNumber`* -## Properties +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:60](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L60)* -### object +
-• **object**: *string* +# Interface: ZRXTokenApprovalEventArgs -*Defined in [ethereum-types/src/index.ts:614](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L614)* -___ +## Index -### sourceMap +### Properties -• **sourceMap**: *string* +* [_owner](#_owner) +* [_spender](#_spender) +* [_value](#_value) -*Defined in [ethereum-types/src/index.ts:615](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L615)* +## Properties -
+### _owner -# Interface: EvmOutput +• **_owner**: *string* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L42)* -## Properties +___ -### bytecode +### _spender -• **bytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* +• **_spender**: *string* -*Defined in [ethereum-types/src/index.ts:609](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L609)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L43)* ___ -### deployedBytecode +### _value -• **deployedBytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* +• **_value**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:610](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L610)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L44)*
-# Interface: FallbackAbi +# Interface: ZRXTokenTransferEventArgs -## Properties +## Index -### payable +### Properties -• **payable**: *boolean* +* [_from](#_from) +* [_to](#_to) +* [_value](#_value) -*Defined in [ethereum-types/src/index.ts:112](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L112)* +## Properties + +### _from + +• **_from**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L36)* ___ -### type +### _to -• **type**: *string* +• **_to**: *string* -*Defined in [ethereum-types/src/index.ts:111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L111)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L37)* -
+___ +### _value + +• **_value**: *`BigNumber`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L38)* -# Interface: GanacheProvider +
+# Interface: ContractAddresses -## Methods -### sendAsync +## Properties -▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* +### assetProxyOwner + +• **assetProxyOwner**: *string* -*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L14)* +*Defined in [contract-addresses/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L9)* -**Parameters:** +___ -Name | Type | ------- | ------ | -`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | -`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | +### coordinator -**Returns:** *void* +• **coordinator**: *string* -
+*Defined in [contract-addresses/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L14)* +___ +### coordinatorRegistry -# Interface: JSONRPCRequestPayload +• **coordinatorRegistry**: *string* +*Defined in [contract-addresses/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L13)* -## Properties +___ -### id +### devUtils -• **id**: *number* +• **devUtils**: *string* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [contract-addresses/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L18)* ___ -### jsonrpc +### dutchAuction -• **jsonrpc**: *string* +• **dutchAuction**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [contract-addresses/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L12)* ___ -### method +### erc1155Proxy -• **method**: *string* +• **erc1155Proxy**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [contract-addresses/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L17)* ___ -### params +### erc20Proxy -• **params**: *any[]* +• **erc20Proxy**: *string* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [contract-addresses/src/index.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L4)* -
+___ -# Interface: JSONRPCResponseError +### erc721Proxy +• **erc721Proxy**: *string* -## Properties +*Defined in [contract-addresses/src/index.ts:5](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L5)* -### code +___ -• **code**: *number* +### etherToken + +• **etherToken**: *string* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [contract-addresses/src/index.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L7)* ___ -### message +### exchange -• **message**: *string* +• **exchange**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [contract-addresses/src/index.ts:8](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L8)* -
+___ -# Interface: JSONRPCResponsePayload +### forwarder +• **forwarder**: *string* -## Properties +*Defined in [contract-addresses/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L10)* -### `Optional` error +___ -• **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* +### multiAssetProxy + +• **multiAssetProxy**: *string* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [contract-addresses/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L15)* ___ -### id +### orderValidator -• **id**: *number* +• **orderValidator**: *string* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [contract-addresses/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L11)* ___ -### jsonrpc +### staticCallProxy -• **jsonrpc**: *string* +• **staticCallProxy**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [contract-addresses/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L16)* ___ -### result +### zrxToken -• **result**: *any* +• **zrxToken**: *string* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [contract-addresses/src/index.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L6)*
-# Interface: LogEntry - - -## Properties -### address -• **address**: *string* +# Interface: BlockRange -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* -___ +## Properties -### blockHash +### fromBlock -• **blockHash**: *string | null* +• **fromBlock**: *[BlockParam](#blockparam)* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [ethereum-types/src/index.ts:740](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L740)* ___ -### blockNumber +### toBlock -• **blockNumber**: *number | null* +• **toBlock**: *[BlockParam](#blockparam)* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [ethereum-types/src/index.ts:741](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L741)* -___ +
-### data -• **data**: *string* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* -___ -### logIndex +# Interface: CallData -• **logIndex**: *number | null* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +## Properties -___ +### `Optional` data -### topics +• **data**? : *undefined | string* -• **topics**: *string[]* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ -### transactionHash +### `Optional` from -• **transactionHash**: *string* +• **from**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [ethereum-types/src/index.ts:402](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L402)* ___ -### transactionIndex - -• **transactionIndex**: *number | null* - -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +### `Optional` gas -
+• **gas**? : *number | string | `BigNumber`* -# Interface: LogEntryEvent +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* -## Properties +___ -### address +### `Optional` gasPrice -• **address**: *string* +• **gasPrice**? : *number | string | `BigNumber`* -*Inherited from [LogEntry](#interface-logentry).[address](#address)* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ -### blockHash +### `Optional` nonce -• **blockHash**: *string | null* +• **nonce**? : *undefined | number* -*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ -### blockNumber +### `Optional` to -• **blockNumber**: *number | null* +• **to**? : *undefined | string* -*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ -### data +### `Optional` value -• **data**: *string* +• **value**? : *number | string | `BigNumber`* -*Inherited from [LogEntry](#interface-logentry).[data](#data)* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [ethereum-types/src/index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)* -___ +
-### logIndex -• **logIndex**: *number | null* -*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* -___ +# Interface: CompilerOpts -### removed -• **removed**: *boolean* +## Properties -*Defined in [ethereum-types/src/index.ts:419](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L419)* +### name -___ +• **name**: *"solc"* -### topics +*Defined in [ethereum-types/src/index.ts:655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L655)* -• **topics**: *string[]* +___ -*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* +### settings -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +• **settings**: *[CompilerSettings](#class-compilersettings)* -___ +*Defined in [ethereum-types/src/index.ts:657](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L657)* -### transactionHash +___ -• **transactionHash**: *string* +### version -*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* +• **version**: *string* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [ethereum-types/src/index.ts:656](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L656)* -___ +
-### transactionIndex +# Interface: CompilerSettings -• **transactionIndex**: *number | null* -*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* +## Properties -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +### `Optional` evmVersion -
+• **evmVersion**? : *"homestead" | "tangerineWhistle" | "spuriousDragon" | "byzantium" | "constantinople"* -# Interface: LogWithDecodedArgs <**ArgsType**> +*Defined in [ethereum-types/src/index.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L689)* -## Type parameters +___ -▪ **ArgsType**: *[DecodedLogArgs](#class-decodedlogargs)* +### `Optional` libraries +• **libraries**? : *undefined | object* -## Properties +*Defined in [ethereum-types/src/index.ts:691](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L691)* -### address +___ -• **address**: *string* +### `Optional` metadata -*Inherited from [LogEntry](#interface-logentry).[address](#address)* +• **metadata**? : *[CompilerSettingsMetadata](#class-compilersettingsmetadata)* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [ethereum-types/src/index.ts:690](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L690)* ___ -### args - -• **args**: *`ArgsType`* +### `Optional` optimizer -*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* +• **optimizer**? : *[OptimizerSettings](#class-optimizersettings)* -*Defined in [ethereum-types/src/index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [ethereum-types/src/index.ts:688](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L688)* ___ -### blockHash +### outputSelection -• **blockHash**: *string | null* +• **outputSelection**: *object* -*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* +*Defined in [ethereum-types/src/index.ts:696](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L696)* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +#### Type declaration: -___ +● \[▪ **fileName**: *string*\]: object -### blockNumber +● \[▪ **contractName**: *string*\]: [OutputField](#outputfield)[] -• **blockNumber**: *number | null* +___ -*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* +### `Optional` remappings -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +• **remappings**? : *string[]* -___ +*Defined in [ethereum-types/src/index.ts:687](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L687)* -### data +
-• **data**: *string* +# Interface: CompilerSettingsMetadata -*Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +## Properties -___ +### useLiteralContent -### event +• **useLiteralContent**: *true* -• **event**: *string* +*Defined in [ethereum-types/src/index.ts:704](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L704)* -*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* +
-*Defined in [ethereum-types/src/index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +# Interface: ConstructorAbi -___ -### logIndex +## Properties -• **logIndex**: *number | null* +### inputs -*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* +• **inputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [ethereum-types/src/index.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L103)* ___ -### topics - -• **topics**: *string[]* +### payable -*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* +• **payable**: *boolean* -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [ethereum-types/src/index.ts:104](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L104)* ___ -### transactionHash - -• **transactionHash**: *string* +### stateMutability -*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* +• **stateMutability**: *[ConstructorStateMutability](#constructorstatemutability)* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [ethereum-types/src/index.ts:105](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L105)* ___ -### transactionIndex - -• **transactionIndex**: *number | null* +### type -*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* +• **type**: *string* -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [ethereum-types/src/index.ts:102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L102)*
-# Interface: MethodAbi +# Interface: ContractArtifact + +This type defines the schema of the artifact.json file generated by Sol-compiler +schemaVersion: The version of the artifact schema +contractName: The contract name it represents +networks: Network specific information by network (address, id, constructor args, etc...) +compilerOutput: The Solidity compiler output generated from the specified compiler input +description (http://solidity.readthedocs.io/en/v0.4.24/using-the-compiler.html#compiler-input-and-output-json-description) +compiler: The compiler settings used +sourceCodes: The source code of the contract and all it's dependencies +sources: A mapping from source filePath to sourceMap id +sourceTreeHashHex: A unique hash generated from the contract source and that of it's dependencies. +If any of the sources change, the hash would change notifying us that a re-compilation is necessary ## Properties -### constant +### compiler -• **constant**: *boolean* +• **compiler**: *[CompilerOpts](#class-compileropts)* -*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L94)* +*Inherited from [ContractVersionData](#interface-contractversiondata).[compiler](#compiler)* + +*Defined in [ethereum-types/src/index.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L641)* ___ -### inputs +### compilerOutput -• **inputs**: *[DataItem](#class-dataitem)[]* +• **compilerOutput**: *[StandardContractOutput](#class-standardcontractoutput)* + +*Inherited from [ContractVersionData](#interface-contractversiondata).[compilerOutput](#compileroutput)* -*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L92)* +*Defined in [ethereum-types/src/index.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L651)* ___ -### name +### contractName -• **name**: *string* +• **contractName**: *string* -*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L91)* +*Defined in [ethereum-types/src/index.ts:675](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L675)* ___ -### outputs +### networks -• **outputs**: *[DataItem](#class-dataitem)[]* +• **networks**: *[ContractNetworks](#class-contractnetworks)* -*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L93)* +*Defined in [ethereum-types/src/index.ts:676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L676)* ___ -### payable +### schemaVersion -• **payable**: *boolean* +• **schemaVersion**: *string* -*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L96)* +*Defined in [ethereum-types/src/index.ts:674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L674)* ___ -### stateMutability +### sourceCodes -• **stateMutability**: *[StateMutability](#statemutability)* +• **sourceCodes**: *object* -*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L95)* +*Inherited from [ContractVersionData](#interface-contractversiondata).[sourceCodes](#sourcecodes)* -___ +*Defined in [ethereum-types/src/index.ts:647](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L647)* -### type +#### Type declaration: -• **type**: *string* +● \[▪ **sourceName**: *string*\]: string -*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L90)* +___ -
+### sourceTreeHashHex -# Interface: OptimizerSettings +• **sourceTreeHashHex**: *string* +*Inherited from [ContractVersionData](#interface-contractversiondata).[sourceTreeHashHex](#sourcetreehashhex)* -## Properties +*Defined in [ethereum-types/src/index.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L650)* -### enabled +___ -• **enabled**: *boolean* +### sources -*Defined in [ethereum-types/src/index.ts:700](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L700)* +• **sources**: *object* -___ +*Inherited from [ContractVersionData](#interface-contractversiondata).[sources](#sources)* -### `Optional` runs +*Defined in [ethereum-types/src/index.ts:642](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L642)* -• **runs**? : *undefined | number* +#### Type declaration: -*Defined in [ethereum-types/src/index.ts:701](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L701)* +● \[▪ **sourceName**: *string*\]: object
+# Interface: ContractNetworkData +## Properties +### address +• **address**: *string* +*Defined in [ethereum-types/src/index.ts:554](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L554)* +___ +Args +• **constructorArgs**: *string* +*Defined in [ethereum-types/src/index.ts:558](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L558)* -# Interface: StandardContractOutput +___ +### links -## Properties +• **links**: *object* -### abi +*Defined in [ethereum-types/src/index.ts:555](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L555)* -• **abi**: *[ContractAbi](#contractabi)* +#### Type declaration: -*Defined in [ethereum-types/src/index.ts:556](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L556)* +● \[▪ **linkName**: *string*\]: string -___ +
-### `Optional` devdoc +# Interface: ContractNetworks -• **devdoc**? : *[DevdocOutput](#class-devdocoutput)* -*Defined in [ethereum-types/src/index.ts:558](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L558)* +## Hierarchy -___ +* **ContractVersionData** -### evm + * [ContractArtifact](#class-contractartifact) -• **evm**: *[EvmOutput](#class-evmoutput)* -*Defined in [ethereum-types/src/index.ts:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L557)* +## Properties -
+### compiler +• **compiler**: *[CompilerOpts](#class-compileropts)* +*Defined in [ethereum-types/src/index.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L641)* +___ +### compilerOutput +• **compilerOutput**: *[StandardContractOutput](#class-standardcontractoutput)* +*Defined in [ethereum-types/src/index.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L651)* -# Class: CoordinatorContract +___ +### sourceCodes -## Constructors +• **sourceCodes**: *object* +*Defined in [ethereum-types/src/index.ts:647](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L647)* +#### Type declaration: -\+ **new CoordinatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[CoordinatorContract](#class-coordinatorcontract)* +● \[▪ **sourceName**: *string*\]: string -*Overrides void* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1452](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1452)* +### sourceTreeHashHex -**Parameters:** +• **sourceTreeHashHex**: *string* -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | +*Defined in [ethereum-types/src/index.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L650)* -**Returns:** *[CoordinatorContract](#class-coordinatorcontract)* +___ -## Properties +### sources -### abi +• **sources**: *object* -• **abi**: *[ContractAbi](#contractabi)* +*Defined in [ethereum-types/src/index.ts:642](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L642)* +#### Type declaration: +● \[▪ **sourceName**: *string*\]: object -Defined in base-contract/lib/src/index.d.ts:25 +
-___ +# Interface: DataItem -### address -• **address**: *string* +## Properties +### `Optional` components +• **components**? : *[DataItem](#class-dataitem)[]* -Defined in base-contract/lib/src/index.d.ts:26 +*Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* ___ -Args - -• **constructorArgs**: *any[]* - +### name +• **name**: *string* -Defined in base-contract/lib/src/index.d.ts:28 +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ -### contractName +### type -• **contractName**: *string* +• **type**: *string* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)* +
-Defined in base-contract/lib/src/index.d.ts:27 +# Interface: DecodedLogArgs -## Methods -### evmExecAsync +## Type parameters -▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +▪ **A** +## Properties -Defined in base-contract/lib/src/index.d.ts:38 +### address -**Parameters:** +• **address**: *string* -Name | Type | ------- | ------ | -`input` | `Buffer` | +*Inherited from [LogEntry](#interface-logentry).[address](#address)* -**Returns:** *`Promise`* +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ -### `Static` ABI - -▸ **ABI**(): *[ContractAbi](#contractabi)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1158)* +### args -**Returns:** *[ContractAbi](#contractabi)* +• **args**: *`A`* -The contract ABI +*Defined in [ethereum-types/src/index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* ___ -### `Static` deployAsync - -▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1111)* +### blockHash -**Parameters:** +• **blockHash**: *string | null* -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | [ContractAbi](#contractabi) | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | +*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -**Returns:** *`Promise`* +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ -### `Static` deployFrom0xArtifactAsync - -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1078](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1078)* +### blockNumber -**Parameters:** +• **blockNumber**: *number | null* -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | [SupportedProvider](#supportedprovider) | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | -`_exchange` | string | +*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -**Returns:** *`Promise`* +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ -### `Static` strictArgumentEncodingCheck - -▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* - +### data +• **data**: *string* -Defined in base-contract/lib/src/index.d.ts:37 +*Inherited from [LogEntry](#interface-logentry).[data](#data)* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | +___ -**Returns:** *string* +### event -## Object literals +• **event**: *string* -### EIP712_COORDINATOR_DOMAIN_HASH +*Defined in [ethereum-types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* -#### ▪ **EIP712_COORDINATOR_DOMAIN_HASH**: *object* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1005](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1005)* +### logIndex -#### callAsync +• **logIndex**: *number | null* -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1011](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1011)* +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +___ -**Parameters:** +### topics -Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +• **topics**: *string[]* -**Returns:** *`Promise`* +*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -#### getABIDecodedReturnData +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1070](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1070)* +### transactionHash -Decode the ABI-encoded return data from a transaction +• **transactionHash**: *string* -**Parameters:** +*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* -**Returns:** *string* +___ -An array representing the output results in order. Keynames of nested structs are preserved. +### transactionIndex -#### getABIDecodedTransactionData +• **transactionIndex**: *number | null* -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1058](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1058)* +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)* -Decode the ABI-encoded transaction data into its input arguments +
-**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | -**Returns:** *void* +# Interface: DevdocOutput -An array representing the input arguments in order. Keynames of nested structs are preserved. -#### getABIEncodedTransactionData +## Properties -▸ **getABIEncodedTransactionData**(): *string* +### `Optional` author -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1048](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1048)* +• **author**? : *undefined | string* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +*Defined in [ethereum-types/src/index.ts:628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L628)* -**Returns:** *string* +___ -The ABI encoded transaction data as a string +### methods -___ +• **methods**: *object* -### EIP712_EXCHANGE_DOMAIN_HASH +*Defined in [ethereum-types/src/index.ts:629](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L629)* -#### ▪ **EIP712_EXCHANGE_DOMAIN_HASH**: *object* +#### Type declaration: -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:652](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L652)* +● \[▪ **signature**: *string*\]: object -#### callAsync +___ -▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +### `Optional` title -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:658](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L658)* +• **title**? : *undefined | string* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +*Defined in [ethereum-types/src/index.ts:627](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L627)* -**Parameters:** +
-Name | Type | Default | ------- | ------ | ------ | -`callData` | `Partial` | {} | -`defaultBlock?` | [BlockParam](#blockparam) | - | +# Interface: EIP1193Provider -**Returns:** *`Promise`* -#### getABIDecodedReturnData +## Properties -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +### isEIP1193 -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:717](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L717)* +• **isEIP1193**: *boolean* -Decode the ABI-encoded return data from a transaction +*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* -**Parameters:** +## Methods -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +### on -**Returns:** *string* +▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* -An array representing the output results in order. Keynames of nested structs are preserved. +*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* -#### getABIDecodedTransactionData +**Parameters:** -▸ **getABIDecodedTransactionData**(`callData`: string): *void* +▪ **event**: *[EIP1193Event](#eip1193event)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:705](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L705)* +▪ **listener**: *function* -Decode the ABI-encoded transaction data into its input arguments +▸ (`result`: any): *void* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +Name | Type | +------ | ------ | +`result` | any | -**Returns:** *void* +**Returns:** *this* -An array representing the input arguments in order. Keynames of nested structs are preserved. +___ -#### getABIEncodedTransactionData +### send -▸ **getABIEncodedTransactionData**(): *string* +▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:695](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L695)* +*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +**Parameters:** -**Returns:** *string* +Name | Type | +------ | ------ | +`method` | string | +`params?` | any[] | -The ABI encoded transaction data as a string +**Returns:** *`Promise`* -___ +
-### assertValidCoordinatorApprovals -#### ▪ **assertValidCoordinatorApprovals**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:729](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L729)* -Validates that the 0x transaction has been approved by all of the feeRecipients -that correspond to each order in the transaction's Exchange calldata. -#### callAsync +# Interface: EvmBytecodeOutput -▸ **callAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:744](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L744)* +## Properties -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +### object -**Parameters:** +• **object**: *string* -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`transaction` | object | - | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | - | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | - | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | - | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | - | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +*Defined in [ethereum-types/src/index.ts:622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L622)* -**Returns:** *`Promise`* +___ -#### getABIDecodedReturnData +### sourceMap -▸ **getABIDecodedReturnData**(`returnData`: string): *void* +• **sourceMap**: *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:860](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L860)* +*Defined in [ethereum-types/src/index.ts:623](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L623)* -Decode the ABI-encoded return data from a transaction +
-**Parameters:** +# Interface: EvmOutput -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | -**Returns:** *void* +## Properties -An array representing the output results in order. Keynames of nested structs are preserved. +### bytecode -#### getABIDecodedTransactionData +• **bytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* -▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string, string, `BigNumber`[], string[]]* +*Defined in [ethereum-types/src/index.ts:617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L617)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:842](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L842)* +___ -Decode the ABI-encoded transaction data into its input arguments +### deployedBytecode -**Parameters:** +• **deployedBytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +*Defined in [ethereum-types/src/index.ts:618](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L618)* -**Returns:** *[object, string, string, `BigNumber`[], string[]]* +
-An array representing the input arguments in order. Keynames of nested structs are preserved. +# Interface: FallbackAbi -#### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[]): *string* +## Properties -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:813](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L813)* +### payable -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +• **payable**: *boolean* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L112)* -Name | Type | Description | ------- | ------ | ------ | -`transaction` | object | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | +___ -**Returns:** *string* +### type -The ABI encoded transaction data as a string +• **type**: *string* -___ +*Defined in [ethereum-types/src/index.ts:111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L111)* -### decodeOrdersFromFillData +
-#### ▪ **decodeOrdersFromFillData**: *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:873](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L873)* -Decodes the orders from Exchange calldata representing any fill method. +# Interface: GanacheProvider -#### callAsync -▸ **callAsync**(`data`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* +## Methods -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:881](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L881)* +### sendAsync -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`data` | string | - | Exchange calldata representing a fill method. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +**Parameters:** -**Returns:** *`Promise>`* +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | -The orders from the Exchange calldata. +**Returns:** *void* -#### getABIDecodedReturnData +
-▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:967](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L967)* -Decode the ABI-encoded return data from a transaction +# Interface: JSONRPCRequestPayload -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +## Properties -**Returns:** *`Array`* +### id -An array representing the output results in order. Keynames of nested structs are preserved. +• **id**: *number* -#### getABIDecodedTransactionData +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:955](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L955)* +### jsonrpc -Decode the ABI-encoded transaction data into its input arguments +• **jsonrpc**: *string* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +___ -**Returns:** *string* +### method -An array representing the input arguments in order. Keynames of nested structs are preserved. +• **method**: *string* -#### getABIEncodedTransactionData +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* -▸ **getABIEncodedTransactionData**(`data`: string): *string* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:944](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L944)* +### params -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +• **params**: *any[]* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)* -Name | Type | Description | ------- | ------ | ------ | -`data` | string | Exchange calldata representing a fill method. | +
-**Returns:** *string* +# Interface: JSONRPCResponseError -The ABI encoded transaction data as a string -___ +## Properties -### executeTransaction +### code -#### ▪ **executeTransaction**: *object* +• **code**: *number* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:321](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L321)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* -Executes a 0x transaction that has been signed by the feeRecipients that correspond to each order in the transaction's Exchange calldata. +___ -#### awaitTransactionSuccessAsync +### message -▸ **awaitTransactionSuccessAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* +• **message**: *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:399](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L399)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)* -Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. -If the transaction was mined, but reverted, an error is thrown. +
-**Parameters:** +# Interface: JSONRPCResponsePayload -Name | Type | Description | ------- | ------ | ------ | -`transaction` | object | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | -`txData?` | `Partial` | Additional data for transaction | -`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | -`timeoutMs?` | undefined \| number | - | -**Returns:** *`PromiseWithTransactionHash`* +## Properties -A promise that resolves when the transaction is successful +### `Optional` error -#### callAsync +• **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -▸ **callAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:526](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L526)* +___ -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +### id -**Parameters:** +• **id**: *number* -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`transaction` | object | - | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | - | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | - | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | - | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | - | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* -**Returns:** *`Promise`* +___ -#### estimateGasAsync +### jsonrpc -▸ **estimateGasAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +• **jsonrpc**: *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:448](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L448)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* -Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. +___ -**Parameters:** +### result -Name | Type | Description | ------- | ------ | ------ | -`transaction` | object | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +• **result**: *any* -**Returns:** *`Promise`* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)* -The hash of the transaction +
-#### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *void* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:642](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L642)* -Decode the ABI-encoded return data from a transaction -**Parameters:** +# Interface: LogWithDecodedArgs <**ArgsType**> -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +## Type parameters -**Returns:** *void* +▪ **ArgsType**: *[DecodedLogArgs](#class-decodedlogargs)* -An array representing the output results in order. Keynames of nested structs are preserved. -#### getABIDecodedTransactionData +## Properties -▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string, string, `BigNumber`[], string[]]* +### address -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:624](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L624)* +• **address**: *string* -Decode the ABI-encoded transaction data into its input arguments +*Inherited from [LogEntry](#interface-logentry).[address](#address)* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +___ -**Returns:** *[object, string, string, `BigNumber`[], string[]]* +### args -An array representing the input arguments in order. Keynames of nested structs are preserved. +• **args**: *`ArgsType`* -#### getABIEncodedTransactionData +*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* -▸ **getABIEncodedTransactionData**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[]): *string* +*Defined in [ethereum-types/src/index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:595](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L595)* +___ -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +### blockHash -**Parameters:** +• **blockHash**: *string | null* -Name | Type | Description | ------- | ------ | ------ | -`transaction` | object | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | +*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -**Returns:** *string* +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* -The ABI encoded transaction data as a string +___ -#### sendTransactionAsync +### blockNumber -▸ **sendTransactionAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +• **blockNumber**: *number | null* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L337)* +*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write -Ethereum operation and will cost gas. +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* -**Parameters:** +___ -Name | Type | Description | ------- | ------ | ------ | -`transaction` | object | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | -`txData?` | `Partial` \| undefined | Additional data for transaction | +### data -**Returns:** *`Promise`* +• **data**: *string* -The hash of the transaction +*Inherited from [LogEntry](#interface-logentry).[data](#data)* -#### validateAndSendTransactionAsync +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* -▸ **validateAndSendTransactionAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:486](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L486)* +### event -**Parameters:** +• **event**: *string* -Name | Type | ------- | ------ | -`transaction` | object | -`txOrigin` | string | -`transactionSignature` | string | -`approvalExpirationTimeSeconds` | `BigNumber`[] | -`approvalSignatures` | string[] | -`txData?` | `Partial` \| undefined | +*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* -**Returns:** *`Promise`* +*Defined in [ethereum-types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* ___ -### getCoordinatorApprovalHash +### logIndex -#### ▪ **getCoordinatorApprovalHash**: *object* +• **logIndex**: *number | null* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:208](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L208)* +*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -Calculated the EIP712 hash of the Coordinator approval mesasage using the domain separator of this contract. +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* -#### callAsync +___ -▸ **callAsync**(`approval`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +### topics -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L217)* +• **topics**: *string[]* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`approval` | object | - | Coordinator approval message containing the transaction hash, transaction signature, and expiration of the approval. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +___ -**Returns:** *`Promise`* +### transactionHash -EIP712 hash of the Coordinator approval message with the domain separator of this contract. +• **transactionHash**: *string* -#### getABIDecodedReturnData +*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:310](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L310)* +___ -Decode the ABI-encoded return data from a transaction +### transactionIndex -**Parameters:** +• **transactionIndex**: *number | null* -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -**Returns:** *string* +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)* -An array representing the output results in order. Keynames of nested structs are preserved. +
-#### getABIDecodedTransactionData +# Interface: MethodAbi -▸ **getABIDecodedTransactionData**(`callData`: string): *object* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:286](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L286)* +## Properties -Decode the ABI-encoded transaction data into its input arguments +### constant -**Parameters:** +• **constant**: *boolean* -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L94)* -**Returns:** *object* +___ -An array representing the input arguments in order. Keynames of nested structs are preserved. +### inputs -#### getABIEncodedTransactionData +• **inputs**: *[DataItem](#class-dataitem)[]* -▸ **getABIEncodedTransactionData**(`approval`: object): *string* +*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L92)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:268](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L268)* +___ -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). +### name -**Parameters:** +• **name**: *string* -Name | Type | Description | ------- | ------ | ------ | -`approval` | object | Coordinator approval message containing the transaction hash, transaction signature, and expiration of the approval. | +*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L91)* -**Returns:** *string* +___ -The ABI encoded transaction data as a string +### outputs -___ +• **outputs**: *[DataItem](#class-dataitem)[]* -### getSignerAddress +*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L93)* -#### ▪ **getSignerAddress**: *object* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L34)* +### payable -Recovers the address of a signer given a hash and signature. +• **payable**: *boolean* -#### callAsync +*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L96)* -▸ **callAsync**(`hash`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L42)* +### stateMutability -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +• **stateMutability**: *[StateMutability](#statemutability)* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L95)* -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`hash` | string | - | Any 32 byte hash. | -`signature` | string | - | Proof that the hash has been signed by signer. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | +___ -**Returns:** *`Promise`* +### type -#### getABIDecodedReturnData +• **type**: *string* -▸ **getABIDecodedReturnData**(`returnData`: string): *string* +*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L90)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:105](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L105)* +
-Decode the ABI-encoded return data from a transaction +# Interface: OptimizerSettings -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +## Properties -**Returns:** *string* +### enabled -An array representing the output results in order. Keynames of nested structs are preserved. +• **enabled**: *boolean* -#### getABIDecodedTransactionData +*Defined in [ethereum-types/src/index.ts:708](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L708)* -▸ **getABIDecodedTransactionData**(`callData`: string): *string* +___ -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L93)* +### `Optional` runs -Decode the ABI-encoded transaction data into its input arguments +• **runs**? : *undefined | number* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:709](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L709)* -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +
-**Returns:** *string* -An array representing the input arguments in order. Keynames of nested structs are preserved. -#### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`hash`: string, `signature`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L78)* +# Interface: RevertErrorAbi -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). -**Parameters:** +## Properties -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | Any 32 byte hash. | -`signature` | string | Proof that the hash has been signed by signer. | +### `Optional` arguments -**Returns:** *string* +• **arguments**? : *[DataItem](#class-dataitem)[]* -The ABI encoded transaction data as a string +*Defined in [ethereum-types/src/index.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L122)* ___ -### getTransactionHash +### name -#### ▪ **getTransactionHash**: *object* +• **name**: *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:116](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L116)* +*Defined in [ethereum-types/src/index.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L121)* -Calculates the EIP712 hash of a 0x transaction using the domain separator of the Exchange contract. +___ -#### callAsync +### type -▸ **callAsync**(`transaction`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* +• **type**: *"error"* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L124)* +*Defined in [ethereum-types/src/index.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L120)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +
-**Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`transaction` | object | - | 0x transaction containing salt, signerAddress, and data. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* -EIP712 hash of the transaction with the domain separator of this contract. -#### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:197](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L197)* +# Interface: StandardContractOutput -Decode the ABI-encoded return data from a transaction -**Parameters:** +## Properties -Name | Type | Description | ------- | ------ | ------ | -`returnData` | string | the data returned after transaction execution | +### abi -**Returns:** *string* +• **abi**: *[ContractAbi](#contractabi)* -An array representing the output results in order. Keynames of nested structs are preserved. +*Defined in [ethereum-types/src/index.ts:564](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L564)* -#### getABIDecodedTransactionData +___ -▸ **getABIDecodedTransactionData**(`callData`: string): *object* +### `Optional` devdoc -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L181)* +• **devdoc**? : *[DevdocOutput](#class-devdocoutput)* -Decode the ABI-encoded transaction data into its input arguments +*Defined in [ethereum-types/src/index.ts:566](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L566)* -**Parameters:** +___ -Name | Type | Description | ------- | ------ | ------ | -`callData` | string | The ABI-encoded transaction data | +### evm -**Returns:** *object* +• **evm**: *[EvmOutput](#class-evmoutput)* -An array representing the input arguments in order. Keynames of nested structs are preserved. +*Defined in [ethereum-types/src/index.ts:565](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L565)* -#### getABIEncodedTransactionData +
-▸ **getABIEncodedTransactionData**(`transaction`: object): *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L168)* -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`transaction` | object | 0x transaction containing salt, signerAddress, and data. | -**Returns:** *string* -The ABI encoded transaction data as a string -
@@ -28950,7 +17952,7 @@ The ABI encoded transaction data as a string *Overrides [DataItem](_ethereum_types_src_index_.dataitem.md).[components](#optional-components)* -*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L135)* +*Defined in [ethereum-types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L141)* ___ @@ -28960,7 +17962,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[name](#name)* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -28970,7 +17972,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[type](#type)* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -28985,7 +17987,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -28993,7 +17995,7 @@ ___ • **from**: *string* -*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ @@ -29003,7 +18005,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -29013,7 +18015,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -29023,7 +18025,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -29033,7 +18035,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -29043,7 +18045,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)* +*Defined in [ethereum-types/src/index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)*
@@ -29058,7 +18060,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -29068,7 +18070,7 @@ ___ *Inherited from [TxData](#interface-txdata).[from](#from)* -*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ @@ -29078,7 +18080,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -29088,7 +18090,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -29098,7 +18100,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -29108,7 +18110,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -29118,7 +18120,7 @@ ___ *Overrides [CallTxDataBase](_ethereum_types_src_index_.calltxdatabase.md).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L434)* +*Defined in [ethereum-types/src/index.ts:442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L442)*
@@ -29135,7 +18137,7 @@ This interface allowed sending synchonous requests, support for which was later ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L45)* +*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* **Parameters:** @@ -29151,7 +18153,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L44)* +*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* **Parameters:** @@ -29177,7 +18179,7 @@ before the first attempts to conform to EIP1193 ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L54)* +*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* **Parameters:** @@ -29203,7 +18205,7 @@ however it does not conform entirely. ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L63)* +*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* **Parameters:** @@ -29229,7 +18231,7 @@ add here • **isMetaMask**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L31)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ @@ -29237,7 +18239,7 @@ ___ • **isParity**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L32)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ @@ -29245,7 +18247,7 @@ ___ • **isZeroExProvider**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L30)* +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* ## Methods @@ -29253,7 +18255,7 @@ ___ ▸ **enable**(): *`Promise`* -*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L34)* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* **Returns:** *`Promise`* @@ -29263,7 +18265,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L35)* +*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* **Parameters:** @@ -29280,7 +18282,7 @@ ___ ▸ **stop**(): *void* -*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L33)* +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* **Returns:** *void* @@ -29303,7 +18305,7 @@ ___ -Defined in ethereum-types/lib/index.d.ts:262 +Defined in ethereum-types/lib/index.d.ts:267 ___ @@ -29313,7 +18315,7 @@ ___ -Defined in ethereum-types/lib/index.d.ts:263 +Defined in ethereum-types/lib/index.d.ts:268 ___ @@ -29323,7 +18325,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L136)* +*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L136)* ___ @@ -29333,7 +18335,7 @@ ___ -Defined in ethereum-types/lib/index.d.ts:260 +Defined in ethereum-types/lib/index.d.ts:265
@@ -29384,6 +18386,33 @@ Defined in ethereum-types/lib/index.d.ts:260 + + + +# Interface: DecodedLogEvent <**ArgsType**> + +## Type parameters + +▪ **ArgsType**: *`DecodedLogArgs`* + + +## Properties + +### isRemoved + +• **isRemoved**: *boolean* + +*Defined in [types/src/index.ts:853](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L853)* + +___ + +### log + +• **log**: *`LogWithDecodedArgs`* + +*Defined in [types/src/index.ts:854](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L854)* + +
@@ -29396,7 +18425,7 @@ Defined in ethereum-types/lib/index.d.ts:260 • **assetData**: *[AssetData](#assetdata)* -*Defined in [types/src/index.ts:223](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L223)* +*Defined in [types/src/index.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L219)* ___ @@ -29404,7 +18433,7 @@ ___ • **beginAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L225)* +*Defined in [types/src/index.ts:221](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L221)* ___ @@ -29412,7 +18441,7 @@ ___ • **beginTimeSeconds**: *`BigNumber`* -*Defined in [types/src/index.ts:224](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L224)* +*Defined in [types/src/index.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L220)*
@@ -29429,7 +18458,7 @@ Elliptic Curve signature • **r**: *string* -*Defined in [types/src/index.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L68)* +*Defined in [types/src/index.ts:62](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L62)* ___ @@ -29437,7 +18466,7 @@ ___ • **s**: *string* -*Defined in [types/src/index.ts:69](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L69)* +*Defined in [types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L63)* ___ @@ -29445,11 +18474,46 @@ ___ • **v**: *number* -*Defined in [types/src/index.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L67)* +*Defined in [types/src/index.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L61)*
+# Interface: EIP712DomainWithDefaultSchema + + +## Properties + +### chainId + +• **chainId**: *number* + +*Defined in [types/src/index.ts:802](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L802)* + +___ + +### `Optional` name + +• **name**? : *undefined | string* + +*Defined in [types/src/index.ts:800](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L800)* + +___ + +### verifyingContract + +• **verifyingContract**: *string* +*Defined in [types/src/index.ts:803](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L803)* + +___ + +### `Optional` version + +• **version**? : *undefined | string* + +*Defined in [types/src/index.ts:801](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L801)* + +
@@ -29466,7 +18530,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:187](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L187)* +*Defined in [types/src/index.ts:183](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L183)* ___ @@ -29474,7 +18538,7 @@ ___ • **callbackData**: *string* -*Defined in [types/src/index.ts:191](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L191)* +*Defined in [types/src/index.ts:187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L187)* ___ @@ -29482,7 +18546,7 @@ ___ • **tokenAddress**: *string* -*Defined in [types/src/index.ts:188](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L188)* +*Defined in [types/src/index.ts:184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L184)* ___ @@ -29490,7 +18554,7 @@ ___ • **tokenIds**: *`BigNumber`[]* -*Defined in [types/src/index.ts:189](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L189)* +*Defined in [types/src/index.ts:185](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L185)* ___ @@ -29498,7 +18562,7 @@ ___ • **tokenValues**: *`BigNumber`[]* -*Defined in [types/src/index.ts:190](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L190)* +*Defined in [types/src/index.ts:186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L186)*
@@ -29513,7 +18577,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:176](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L176)* +*Defined in [types/src/index.ts:172](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L172)* ___ @@ -29521,7 +18585,7 @@ ___ • **tokenAddress**: *string* -*Defined in [types/src/index.ts:177](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L177)* +*Defined in [types/src/index.ts:173](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L173)*
@@ -29534,7 +18598,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L181)* +*Defined in [types/src/index.ts:177](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L177)* ___ @@ -29542,7 +18606,7 @@ ___ • **tokenAddress**: *string* -*Defined in [types/src/index.ts:182](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L182)* +*Defined in [types/src/index.ts:178](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L178)* ___ @@ -29550,7 +18614,7 @@ ___ • **tokenId**: *`BigNumber`* -*Defined in [types/src/index.ts:183](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L183)* +*Defined in [types/src/index.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L179)*
@@ -29564,6 +18628,42 @@ ___ +# Interface: IndexedFilterValues + + +## Hierarchy + +* **IndexSignature** + + +## Properties + +### keyName + +• **keyName**: *string* + +*Defined in [types/src/index.ts:679](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L679)* + +___ + +### keyType + +• **keyType**: *[Type](#class-type)* + +*Defined in [types/src/index.ts:680](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L680)* + +___ + +### valueName + +• **valueName**: *string* + +*Defined in [types/src/index.ts:681](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L681)* + +
+ + + # Interface: MultiAssetData @@ -29575,7 +18675,7 @@ ___ • **amounts**: *`BigNumber`[]* -*Defined in [types/src/index.ts:212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L212)* +*Defined in [types/src/index.ts:208](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L208)* ___ @@ -29583,7 +18683,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:211](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L211)* +*Defined in [types/src/index.ts:207](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L207)* ___ @@ -29591,7 +18691,7 @@ ___ • **nestedAssetData**: *string[]* -*Defined in [types/src/index.ts:213](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L213)* +*Defined in [types/src/index.ts:209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L209)*
@@ -29604,7 +18704,7 @@ ___ • **amounts**: *`BigNumber`[]* -*Defined in [types/src/index.ts:218](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L218)* +*Defined in [types/src/index.ts:214](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L214)* ___ @@ -29612,7 +18712,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L217)* +*Defined in [types/src/index.ts:213](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L213)* ___ @@ -29620,7 +18720,7 @@ ___ • **nestedAssetData**: *[SingleAssetData](#singleassetdata)[]* -*Defined in [types/src/index.ts:219](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L219)* +*Defined in [types/src/index.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L215)*
@@ -29665,13 +18765,23 @@ ___ ## Properties +### chainId + +• **chainId**: *number* + +*Inherited from [Order](#interface-order).[chainId](#chainid)* + +*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L14)* + +___ + ### exchangeAddress • **exchangeAddress**: *string* *Inherited from [Order](#interface-order).[exchangeAddress](#exchangeaddress)* -*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L20)* +*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L15)* ___ @@ -29681,7 +18791,7 @@ ___ *Inherited from [Order](#interface-order).[expirationTimeSeconds](#expirationtimeseconds)* -*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L22)* +*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L24)* ___ @@ -29691,7 +18801,7 @@ ___ *Inherited from [Order](#interface-order).[feeRecipientAddress](#feerecipientaddress)* -*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L21)* +*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L18)* ___ @@ -29701,7 +18811,7 @@ ___ *Inherited from [Order](#interface-order).[makerAddress](#makeraddress)* -*Defined in [types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L11)* +*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L16)* ___ @@ -29711,7 +18821,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetAmount](#makerassetamount)* -*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L15)* +*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L20)* ___ @@ -29721,7 +18831,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetData](#makerassetdata)* -*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L17)* +*Defined in [types/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L26)* ___ @@ -29731,7 +18841,17 @@ ___ *Inherited from [Order](#interface-order).[makerFee](#makerfee)* -*Defined in [types/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L13)* +*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L22)* + +___ + +### makerFeeAssetData + +• **makerFeeAssetData**: *string* + +*Inherited from [Order](#interface-order).[makerFeeAssetData](#makerfeeassetdata)* + +*Defined in [types/src/index.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L28)* ___ @@ -29741,7 +18861,7 @@ ___ *Inherited from [Order](#interface-order).[salt](#salt)* -*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L19)* +*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L25)* ___ @@ -29751,7 +18871,7 @@ ___ *Inherited from [Order](#interface-order).[senderAddress](#senderaddress)* -*Defined in [types/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L10)* +*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L19)* ___ @@ -29759,7 +18879,7 @@ ___ • **signature**: *string* -*Defined in [types/src/index.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L41)* +*Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L33)* ___ @@ -29769,7 +18889,7 @@ ___ *Inherited from [Order](#interface-order).[takerAddress](#takeraddress)* -*Defined in [types/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L12)* +*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L17)* ___ @@ -29779,7 +18899,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetAmount](#takerassetamount)* -*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L16)* +*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L21)* ___ @@ -29789,7 +18909,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetData](#takerassetdata)* -*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L18)* +*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L27)* ___ @@ -29799,7 +18919,17 @@ ___ *Inherited from [Order](#interface-order).[takerFee](#takerfee)* -*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L14)* +*Defined in [types/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L23)* + +___ + +### takerFeeAssetData + +• **takerFeeAssetData**: *string* + +*Inherited from [Order](#interface-order).[takerFeeAssetData](#takerfeeassetdata)* + +*Defined in [types/src/index.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L29)*
@@ -29814,7 +18944,37 @@ ___ *Inherited from [ZeroExTransaction](#interface-zeroextransaction).[data](#data)* -*Defined in [types/src/index.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L56)* +*Defined in [types/src/index.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L49)* + +___ + +### domain + +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[domain](#domain)* + +*Defined in [types/src/index.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* + +___ + +### expirationTimeSeconds + +• **expirationTimeSeconds**: *`BigNumber`* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[expirationTimeSeconds](#expirationtimeseconds)* + +*Defined in [types/src/index.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* + +___ + +### gasPrice + +• **gasPrice**: *`BigNumber`* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[gasPrice](#gasprice)* + +*Defined in [types/src/index.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L47)* ___ @@ -29824,7 +18984,7 @@ ___ *Inherited from [ZeroExTransaction](#interface-zeroextransaction).[salt](#salt)* -*Defined in [types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L54)* +*Defined in [types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L45)* ___ @@ -29832,7 +18992,7 @@ ___ • **signature**: *string* -*Defined in [types/src/index.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L60)* +*Defined in [types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L54)* ___ @@ -29842,17 +19002,7 @@ ___ *Inherited from [ZeroExTransaction](#interface-zeroextransaction).[signerAddress](#signeraddress)* -*Defined in [types/src/index.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L55)* - -___ - -### verifyingContractAddress - -• **verifyingContractAddress**: *string* - -*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[verifyingContractAddress](#verifyingcontractaddress)* - -*Defined in [types/src/index.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L53)* +*Defined in [types/src/index.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L48)*
@@ -29865,7 +19015,7 @@ ___ • **compilerOutput**: *[SimpleStandardContractOutput](#class-simplestandardcontractoutput)* -*Defined in [types/src/index.ts:739](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L739)* +*Defined in [types/src/index.ts:748](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L748)* ___ @@ -29873,7 +19023,7 @@ ___ • **contractName**: *string* -*Defined in [types/src/index.ts:738](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L738)* +*Defined in [types/src/index.ts:747](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L747)* ___ @@ -29881,7 +19031,7 @@ ___ • **networks**: *`ContractNetworks`* -*Defined in [types/src/index.ts:740](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L740)* +*Defined in [types/src/index.ts:749](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L749)* ___ @@ -29889,7 +19039,7 @@ ___ • **schemaVersion**: *string* -*Defined in [types/src/index.ts:737](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L737)* +*Defined in [types/src/index.ts:746](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L746)*
@@ -29902,7 +19052,7 @@ ___ • **object**: *string* -*Defined in [types/src/index.ts:754](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L754)* +*Defined in [types/src/index.ts:763](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L763)*
@@ -29915,7 +19065,7 @@ ___ • **bytecode**: *[SimpleEvmBytecodeOutput](#class-simpleevmbytecodeoutput)* -*Defined in [types/src/index.ts:750](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L750)* +*Defined in [types/src/index.ts:759](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L759)*
@@ -29928,7 +19078,7 @@ ___ • **abi**: *[ContractAbi](#contractabi)* -*Defined in [types/src/index.ts:744](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L744)* +*Defined in [types/src/index.ts:753](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L753)* ___ @@ -29936,7 +19086,7 @@ ___ • **devdoc**? : *[DevdocOutput](#class-devdocoutput)* -*Defined in [types/src/index.ts:746](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L746)* +*Defined in [types/src/index.ts:755](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L755)* ___ @@ -29944,7 +19094,7 @@ ___ • **evm**: *[SimpleEvmOutput](#class-simpleevmoutput)* -*Defined in [types/src/index.ts:745](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L745)* +*Defined in [types/src/index.ts:754](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L754)*
@@ -29961,7 +19111,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:195](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L195)* +*Defined in [types/src/index.ts:191](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L191)* ___ @@ -29969,7 +19119,7 @@ ___ • **callResultHash**: *string* -*Defined in [types/src/index.ts:198](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L198)* +*Defined in [types/src/index.ts:194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L194)* ___ @@ -29977,7 +19127,7 @@ ___ • **callTarget**: *string* -*Defined in [types/src/index.ts:196](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L196)* +*Defined in [types/src/index.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L192)* ___ @@ -29985,7 +19135,7 @@ ___ • **staticCallData**: *string* -*Defined in [types/src/index.ts:197](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L197)* +*Defined in [types/src/index.ts:193](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L193)*
@@ -30026,7 +19176,7 @@ Validator signature components • **signature**: *string* -*Defined in [types/src/index.ts:77](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L77)* +*Defined in [types/src/index.ts:71](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L71)* ___ @@ -30034,7 +19184,7 @@ ___ • **validatorAddress**: *string* -*Defined in [types/src/index.ts:76](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L76)* +*Defined in [types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L70)*
@@ -30049,82 +19199,47 @@ ZeroExTransaction for use with 0x Exchange executeTransaction • **data**: *string* -*Defined in [types/src/index.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L56)* +*Defined in [types/src/index.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L49)* ___ -### salt +### domain -• **salt**: *`BigNumber`* +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* -*Defined in [types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L54)* +*Defined in [types/src/index.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* ___ -### signerAddress +### expirationTimeSeconds -• **signerAddress**: *string* +• **expirationTimeSeconds**: *`BigNumber`* -*Defined in [types/src/index.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L55)* +*Defined in [types/src/index.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* ___ -### verifyingContractAddress - -• **verifyingContractAddress**: *string* - -*Defined in [types/src/index.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L53)* - -
- - - -
- - - -
- - - - -## Type aliases - -### CoordinatorRegistryEventArgs - -Ƭ **CoordinatorRegistryEventArgs**: *[CoordinatorRegistryCoordinatorEndpointSetEventArgs](#interface-coordinatorregistrycoordinatorendpointseteventargs)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L34)* - -
- - - -
- - - +### gasPrice -## Type aliases - -### DummyERC20TokenEventArgs +• **gasPrice**: *`BigNumber`* -Ƭ **DummyERC20TokenEventArgs**: *[DummyERC20TokenTransferEventArgs](#interface-dummyerc20tokentransfereventargs) | [DummyERC20TokenApprovalEventArgs](#interface-dummyerc20tokenapprovaleventargs)* +*Defined in [types/src/index.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L47)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L34)* - -
+___ +### salt +• **salt**: *`BigNumber`* +*Defined in [types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L45)* -## Type aliases +___ -### DummyERC721TokenEventArgs +### signerAddress -Ƭ **DummyERC721TokenEventArgs**: *[DummyERC721TokenTransferEventArgs](#interface-dummyerc721tokentransfereventargs) | [DummyERC721TokenApprovalEventArgs](#interface-dummyerc721tokenapprovaleventargs) | [DummyERC721TokenApprovalForAllEventArgs](#interface-dummyerc721tokenapprovalforalleventargs)* +• **signerAddress**: *string* -*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L34)* +*Defined in [types/src/index.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L48)*
@@ -30135,52 +19250,13 @@ ___ -## Type aliases - -### ERC1155ProxyEventArgs - -Ƭ **ERC1155ProxyEventArgs**: *[ERC1155ProxyAuthorizedAddressAddedEventArgs](#interface-erc1155proxyauthorizedaddressaddedeventargs) | [ERC1155ProxyAuthorizedAddressRemovedEventArgs](#interface-erc1155proxyauthorizedaddressremovedeventargs)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L34)* - -
- - - - -## Type aliases - -### ERC20ProxyEventArgs - -Ƭ **ERC20ProxyEventArgs**: *[ERC20ProxyAuthorizedAddressAddedEventArgs](#interface-erc20proxyauthorizedaddressaddedeventargs) | [ERC20ProxyAuthorizedAddressRemovedEventArgs](#interface-erc20proxyauthorizedaddressremovedeventargs)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L34)* - -
- - - - ## Type aliases ### ERC20TokenEventArgs Ƭ **ERC20TokenEventArgs**: *[ERC20TokenTransferEventArgs](#interface-erc20tokentransfereventargs) | [ERC20TokenApprovalEventArgs](#interface-erc20tokenapprovaleventargs)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L34)* - -
- - - - -## Type aliases - -### ERC721ProxyEventArgs - -Ƭ **ERC721ProxyEventArgs**: *[ERC721ProxyAuthorizedAddressAddedEventArgs](#interface-erc721proxyauthorizedaddressaddedeventargs) | [ERC721ProxyAuthorizedAddressRemovedEventArgs](#interface-erc721proxyauthorizedaddressremovedeventargs)* - -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L34)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L28)*
@@ -30191,9 +19267,9 @@ ___ ### ERC721TokenEventArgs -Ƭ **ERC721TokenEventArgs**: *[ERC721TokenTransferEventArgs](#interface-erc721tokentransfereventargs) | [ERC721TokenApprovalEventArgs](#interface-erc721tokenapprovaleventargs) | [ERC721TokenApprovalForAllEventArgs](#interface-erc721tokenapprovalforalleventargs)* +Ƭ **ERC721TokenEventArgs**: *[ERC721TokenApprovalEventArgs](#interface-erc721tokenapprovaleventargs) | [ERC721TokenApprovalForAllEventArgs](#interface-erc721tokenapprovalforalleventargs) | [ERC721TokenTransferEventArgs](#interface-erc721tokentransfereventargs)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L34)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L28)*
@@ -30204,9 +19280,9 @@ ___ ### ExchangeEventArgs -Ƭ **ExchangeEventArgs**: *[ExchangeSignatureValidatorApprovalEventArgs](#interface-exchangesignaturevalidatorapprovaleventargs) | [ExchangeFillEventArgs](#interface-exchangefilleventargs) | [ExchangeCancelEventArgs](#interface-exchangecanceleventargs) | [ExchangeCancelUpToEventArgs](#interface-exchangecanceluptoeventargs) | [ExchangeAssetProxyRegisteredEventArgs](#interface-exchangeassetproxyregisteredeventargs)* +Ƭ **ExchangeEventArgs**: *[ExchangeAssetProxyRegisteredEventArgs](#interface-exchangeassetproxyregisteredeventargs) | [ExchangeCancelEventArgs](#interface-exchangecanceleventargs) | [ExchangeCancelUpToEventArgs](#interface-exchangecanceluptoeventargs) | [ExchangeFillEventArgs](#interface-exchangefilleventargs) | [ExchangeProtocolFeeCollectorAddressEventArgs](#interface-exchangeprotocolfeecollectoraddresseventargs) | [ExchangeProtocolFeeMultiplierEventArgs](#interface-exchangeprotocolfeemultipliereventargs) | [ExchangeSignatureValidatorApprovalEventArgs](#interface-exchangesignaturevalidatorapprovaleventargs) | [ExchangeTransactionExecutionEventArgs](#interface-exchangetransactionexecutioneventargs)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L34)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L28)*
@@ -30220,14 +19296,6 @@ ___ -
- - - -
- - - ## Type aliases @@ -30235,7 +19303,7 @@ ___ Ƭ **WETH9EventArgs**: *[WETH9ApprovalEventArgs](#interface-weth9approvaleventargs) | [WETH9TransferEventArgs](#interface-weth9transfereventargs) | [WETH9DepositEventArgs](#interface-weth9depositeventargs) | [WETH9WithdrawalEventArgs](#interface-weth9withdrawaleventargs)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L34)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L28)*
@@ -30248,7 +19316,7 @@ ___ Ƭ **ZRXTokenEventArgs**: *[ZRXTokenTransferEventArgs](#interface-zrxtokentransfereventargs) | [ZRXTokenApprovalEventArgs](#interface-zrxtokenapprovaleventargs)* -*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L34)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L28)*
@@ -30261,7 +19329,7 @@ ___ ▸ **getContractAddressesForNetworkOrThrow**(`networkId`: [NetworkId](#enumeration-networkid)): *[ContractAddresses](#interface-contractaddresses)* -*Defined in [contract-addresses/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L128)* +*Defined in [contract-addresses/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L128)* Used to get addresses of contracts that have been deployed to either the Ethereum mainnet or a supported testnet. Throws if there are no known @@ -30278,60 +19346,6 @@ Name | Type | Description | The set of addresses for contracts which have been deployed on the given networkId. -___ - -### getNetworkIdByExchangeAddressOrThrow - -▸ **getNetworkIdByExchangeAddressOrThrow**(`exchangeAddress`: string): *[NetworkId](#enumeration-networkid)* - -*Defined in [contract-addresses/src/index.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L142)* - -Uses a given exchange address to look up the network id that the exchange contract is deployed -on. Only works for Ethereum mainnet or a supported testnet. Throws if the exchange address -does not correspond to a known deployed exchange contract. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`exchangeAddress` | string | The exchange address of concern | - -**Returns:** *[NetworkId](#enumeration-networkid)* - -The network ID on which the exchange contract is deployed - -
- - - -
- - - -
- - - - -## Type aliases - -### EventCallback - -Ƭ **EventCallback**: *function* - -*Defined in [contract-wrappers/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L11)* - -#### Type declaration: - -▸ (`err`: null | `Error`, `log?`: [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*›): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`err` | null \| `Error` | -`log?` | [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*› | -
@@ -30341,9 +19355,9 @@ Name | Type | ### AbiDefinition -Ƭ **AbiDefinition**: *[FunctionAbi](_ethereum_types_src_index_.md#functionabi) | [EventAbi](#interface-eventabi)* +Ƭ **AbiDefinition**: *[FunctionAbi](_ethereum_types_src_index_.md#functionabi) | [EventAbi](#interface-eventabi) | [RevertErrorAbi](#interface-reverterrorabi)* -*Defined in [ethereum-types/src/index.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L80)* +*Defined in [ethereum-types/src/index.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L80)* ___ @@ -30351,7 +19365,7 @@ ___ Ƭ **BlockParam**: *[BlockParamLiteral](#enumeration-blockparamliteral) | number* -*Defined in [ethereum-types/src/index.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L475)* +*Defined in [ethereum-types/src/index.ts:483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L483)* ___ @@ -30359,7 +19373,7 @@ ___ Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"* -*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L84)* +*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L84)* ___ @@ -30367,7 +19381,7 @@ ___ Ƭ **ContractAbi**: *[AbiDefinition](#abidefinition)[]* -*Defined in [ethereum-types/src/index.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L78)* +*Defined in [ethereum-types/src/index.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L78)* ___ @@ -30375,15 +19389,17 @@ ___ Ƭ **ContractEventArg**: *any* -*Defined in [ethereum-types/src/index.ts:460](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L460)* +*Defined in [ethereum-types/src/index.ts:468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L468)* ___ + + ### EIP1193Event Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L70)* +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md @@ -30398,7 +19414,7 @@ ___ Ƭ **FunctionAbi**: *[MethodAbi](#interface-methodabi) | [ConstructorAbi](#interface-constructorabi) | [FallbackAbi](#interface-fallbackabi)* -*Defined in [ethereum-types/src/index.ts:82](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L82)* +*Defined in [ethereum-types/src/index.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L82)* ___ @@ -30406,7 +19422,7 @@ ___ Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L3)* +*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: @@ -30427,7 +19443,7 @@ ___ Ƭ **OutputField**: *"*" | "ast" | "legacyAST" | "abi" | "devdoc" | "userdoc" | "metadata" | "ir" | "evm.assembly" | "evm.legacyAssembly" | "evm.bytecode.object" | "evm.bytecode.opcodes" | "evm.bytecode.sourceMap" | "evm.bytecode.linkReferences" | "evm.deployedBytecode.object" | "evm.deployedBytecode.opcodes" | "evm.deployedBytecode.sourceMap" | "evm.deployedBytecode.linkReferences" | "evm.methodIdentifiers" | "evm.gasEstimates" | "ewasm.wast" | "ewasm.wasm"* -*Defined in [ethereum-types/src/index.ts:517](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L517)* +*Defined in [ethereum-types/src/index.ts:525](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L525)* ___ @@ -30435,23 +19451,17 @@ ___ Ƭ **ParamDescription**: *string* -*Defined in [ethereum-types/src/index.ts:553](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L553)* +*Defined in [ethereum-types/src/index.ts:561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L561)* ___ -### RawLog - -Ƭ **RawLog**: *[LogEntry](#interface-logentry)* -*Defined in [ethereum-types/src/index.ts:467](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L467)* - -___ ### StateMutability Ƭ **StateMutability**: *"pure" | "view" | [ConstructorStateMutability](#constructorstatemutability)* -*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L85)* +*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L85)* ___ @@ -30459,7 +19469,7 @@ ___ Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L9)* +*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. @@ -30474,7 +19484,7 @@ ___ Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L11)* +*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)*
@@ -30487,13 +19497,13 @@ ___ #### ▪ **assetDataUtils**: *object* -*Defined in [order-utils/src/asset_data_utils.ts:23](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L23)* +*Defined in [order-utils/src/asset_data_utils.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L23)* #### assertIsERC1155AssetData ▸ **assertIsERC1155AssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:397](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L397)* +*Defined in [order-utils/src/asset_data_utils.ts:397](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L397)* Throws if the assetData is not ERC1155. @@ -30509,7 +19519,7 @@ Name | Type | Description | ▸ **assertIsERC20AssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L353)* +*Defined in [order-utils/src/asset_data_utils.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L353)* Throws if the length or assetProxyId are invalid for the ERC20Proxy. @@ -30525,7 +19535,7 @@ Name | Type | Description | ▸ **assertIsERC721AssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:375](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L375)* +*Defined in [order-utils/src/asset_data_utils.ts:375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L375)* Throws if the length or assetProxyId are invalid for the ERC721Proxy. @@ -30541,7 +19551,7 @@ Name | Type | Description | ▸ **assertIsMultiAssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:419](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L419)* +*Defined in [order-utils/src/asset_data_utils.ts:419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L419)* Throws if the length or assetProxyId are invalid for the MultiAssetProxy. @@ -30557,7 +19567,7 @@ Name | Type | Description | ▸ **assertIsStaticCallAssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:441](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L441)* +*Defined in [order-utils/src/asset_data_utils.ts:441](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L441)* Throws if the assetData is not StaticCallData. @@ -30573,7 +19583,7 @@ Name | Type | Description | ▸ **assertWordAlignedAssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:463](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L463)* +*Defined in [order-utils/src/asset_data_utils.ts:463](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L463)* Throws if the assetData is not padded to 32 bytes. @@ -30589,7 +19599,7 @@ Name | Type | Description | ▸ **decodeAssetDataOrThrow**(`assetData`: string): *[SingleAssetData](#singleassetdata) | `MultiAssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:502](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L502)* +*Defined in [order-utils/src/asset_data_utils.ts:502](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L502)* Decode any assetData into its corresponding assetData object @@ -30607,7 +19617,7 @@ Either a ERC20, ERC721, ERC1155, or MultiAsset assetData object ▸ **decodeAssetProxyId**(`assetData`: string): *`AssetProxyId`* -*Defined in [order-utils/src/asset_data_utils.ts:294](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L294)* +*Defined in [order-utils/src/asset_data_utils.ts:294](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L294)* Decode and return the assetProxyId from the assetData @@ -30625,7 +19635,7 @@ The assetProxyId ▸ **decodeDutchAuctionData**(`dutchAuctionData`: string): *`DutchAuctionData`* -*Defined in [order-utils/src/asset_data_utils.ts:263](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L263)* +*Defined in [order-utils/src/asset_data_utils.ts:263](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L263)* Dutch auction details are encoded with the asset data for a 0x order. This function decodes a hex encoded assetData string, containing information both about the asset being traded and the @@ -30645,7 +19655,7 @@ An object containing the auction asset, auction begin time and auction begin amo ▸ **decodeERC1155AssetData**(`assetData`: string): *`ERC1155AssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L107)* +*Defined in [order-utils/src/asset_data_utils.ts:107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L107)* Decodes an ERC1155 assetData hex string into its corresponding ERC1155 components. @@ -30663,7 +19673,7 @@ An object containing the decoded tokenAddress, tokenIds, tokenValues, callbackDa ▸ **decodeERC20AssetData**(`assetData`: string): *`ERC20AssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L41)* +*Defined in [order-utils/src/asset_data_utils.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L41)* Decodes an ERC20 assetData hex string into its corresponding ERC20 tokenAddress & assetProxyId @@ -30681,7 +19691,7 @@ An object containing the decoded tokenAddress & assetProxyId ▸ **decodeERC721AssetData**(`assetData`: string): *`ERC721AssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L70)* +*Defined in [order-utils/src/asset_data_utils.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L70)* Decodes an ERC721 assetData hex string into its corresponding ERC721 tokenAddress, tokenId & assetProxyId @@ -30699,7 +19709,7 @@ An object containing the decoded tokenAddress, tokenId & assetProxyId ▸ **decodeMultiAssetData**(`assetData`: string): *`MultiAssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:149](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L149)* +*Defined in [order-utils/src/asset_data_utils.ts:149](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L149)* Decodes a MultiAsset assetData hex string into its corresponding amounts and nestedAssetData @@ -30717,7 +19727,7 @@ An object containing the decoded amounts and nestedAssetData ▸ **decodeMultiAssetDataRecursively**(`assetData`: string): *`MultiAssetDataWithRecursiveDecoding`* -*Defined in [order-utils/src/asset_data_utils.ts:175](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L175)* +*Defined in [order-utils/src/asset_data_utils.ts:175](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L175)* Decodes a MultiAsset assetData hex string into its corresponding amounts and decoded nestedAssetData elements (all nested elements are flattened) @@ -30735,7 +19745,7 @@ An object containing the decoded amounts and nestedAssetData ▸ **decodeStaticCallAssetData**(`assetData`: string): *`StaticCallAssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L225)* +*Defined in [order-utils/src/asset_data_utils.ts:225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L225)* Decoded StaticCall assetData into its corresponding callTarget, staticCallData, and expected callResultHash @@ -30753,7 +19763,7 @@ An object containing the decoded callTarget, staticCallData, and expected callRe ▸ **encodeDutchAuctionAssetData**(`assetData`: string, `beginTimeSeconds`: `BigNumber`, `beginAmount`: `BigNumber`): *string* -*Defined in [order-utils/src/asset_data_utils.ts:245](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L245)* +*Defined in [order-utils/src/asset_data_utils.ts:245](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L245)* Dutch auction details are encoded with the asset data for a 0x order. This function produces a hex encoded assetData string, containing information both about the asset being traded and the @@ -30775,7 +19785,7 @@ The hex encoded assetData string. ▸ **encodeERC1155AssetData**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: string): *string* -*Defined in [order-utils/src/asset_data_utils.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L91)* +*Defined in [order-utils/src/asset_data_utils.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L91)* Encodes a set of ERC1155 assets into an assetData string, usable in the makerAssetData or takerAssetData fields of a 0x order. @@ -30797,7 +19807,7 @@ The hex encoded assetData string ▸ **encodeERC20AssetData**(`tokenAddress`: string): *string* -*Defined in [order-utils/src/asset_data_utils.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L30)* +*Defined in [order-utils/src/asset_data_utils.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L30)* Encodes an ERC20 token address into a hex encoded assetData string, usable in the makerAssetData or takerAssetData fields in a 0x order. @@ -30816,7 +19826,7 @@ The hex encoded assetData string ▸ **encodeERC721AssetData**(`tokenAddress`: string, `tokenId`: `BigNumber`): *string* -*Defined in [order-utils/src/asset_data_utils.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L59)* +*Defined in [order-utils/src/asset_data_utils.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L59)* Encodes an ERC721 token address into a hex encoded assetData string, usable in the makerAssetData or takerAssetData fields in a 0x order. @@ -30836,7 +19846,7 @@ The hex encoded assetData string ▸ **encodeMultiAssetData**(`amounts`: `BigNumber`[], `nestedAssetData`: string[]): *string* -*Defined in [order-utils/src/asset_data_utils.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L130)* +*Defined in [order-utils/src/asset_data_utils.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L130)* Encodes assetData for multiple AssetProxies into a single hex encoded assetData string, usable in the makerAssetData or takerAssetData fields in a 0x order. @@ -30856,7 +19866,7 @@ The hex encoded assetData string ▸ **encodeStaticCallAssetData**(`callTarget`: string, `staticCallData`: string, `callResultHash`: string): *string* -*Defined in [order-utils/src/asset_data_utils.ts:214](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L214)* +*Defined in [order-utils/src/asset_data_utils.ts:214](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L214)* Encodes StaticCallProxy data into an assetData hex string @@ -30876,7 +19886,7 @@ The hex encoded assetData string ▸ **isERC1155AssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:332](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L332)* +*Defined in [order-utils/src/asset_data_utils.ts:332](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L332)* Checks if the decoded asset data is valid ERC1155 data @@ -30892,7 +19902,7 @@ Name | Type | Description | ▸ **isERC20AssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:318](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L318)* +*Defined in [order-utils/src/asset_data_utils.ts:318](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L318)* Checks if the decoded asset data is valid ERC20 data @@ -30908,7 +19918,7 @@ Name | Type | Description | ▸ **isERC721AssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L325)* +*Defined in [order-utils/src/asset_data_utils.ts:325](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L325)* Checks if the decoded asset data is valid ERC721 data @@ -30924,7 +19934,7 @@ Name | Type | Description | ▸ **isMultiAssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:339](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L339)* +*Defined in [order-utils/src/asset_data_utils.ts:339](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L339)* Checks if the decoded asset data is valid MultiAsset data @@ -30940,7 +19950,7 @@ Name | Type | Description | ▸ **isStaticCallAssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L346)* +*Defined in [order-utils/src/asset_data_utils.ts:346](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L346)* Checks if the decoded asset data is valid StaticCall data @@ -30956,7 +19966,7 @@ Name | Type | Description | ▸ **validateAssetDataOrThrow**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L475)* +*Defined in [order-utils/src/asset_data_utils.ts:475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L475)* Throws if the length or assetProxyId are invalid for the corresponding AssetProxy. @@ -30979,13 +19989,13 @@ Name | Type | Description | #### ▪ **orderHashUtils**: *object* -*Defined in [order-utils/src/order_hash.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_hash.ts#L12)* +*Defined in [order-utils/src/order_hash.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_hash.ts#L12)* #### getOrderHashBuffer ▸ **getOrderHashBuffer**(`order`: `SignedOrder` | `Order`): *`Buffer`* -*Defined in [order-utils/src/order_hash.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_hash.ts#L55)* +*Defined in [order-utils/src/order_hash.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_hash.ts#L55)* Computes the orderHash for a supplied order @@ -31003,7 +20013,7 @@ A Buffer containing the resulting orderHash from hashing the supplied order ▸ **getOrderHashHex**(`order`: `SignedOrder` | `Order`): *string* -*Defined in [order-utils/src/order_hash.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_hash.ts#L33)* +*Defined in [order-utils/src/order_hash.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_hash.ts#L33)* Computes the orderHash for a supplied order. @@ -31021,7 +20031,7 @@ Hex encoded string orderHash from hashing the supplied order. ▸ **isValidOrderHash**(`orderHash`: string): *boolean* -*Defined in [order-utils/src/order_hash.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_hash.ts#L20)* +*Defined in [order-utils/src/order_hash.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_hash.ts#L20)* Checks if the supplied hex encoded order hash is valid. Note: Valid means it has the expected format, not that an order with the orderHash exists. @@ -31048,7 +20058,7 @@ Whether the supplied orderHash has the expected format. ▸ **generatePseudoRandomSalt**(): *`BigNumber`* -*Defined in [order-utils/src/salt.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/salt.ts#L9)* +*Defined in [order-utils/src/salt.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/salt.ts#L9)* Generates a pseudo-random 256-bit salt. The salt can be included in a 0x order, ensuring that the order generates a unique orderHash @@ -31069,13 +20079,13 @@ A pseudo-random 256-bit number that can be used as a salt. #### ▪ **signatureUtils**: *object* -*Defined in [order-utils/src/signature_utils.ts:27](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L27)* +*Defined in [order-utils/src/signature_utils.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L27)* #### addSignedMessagePrefix ▸ **addSignedMessagePrefix**(`message`: string): *string* -*Defined in [order-utils/src/signature_utils.ts:500](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L500)* +*Defined in [order-utils/src/signature_utils.ts:500](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L500)* Adds the relevant prefix to the message being signed. @@ -31093,7 +20103,7 @@ Prefixed message ▸ **convertECSignatureToSignatureHex**(`ecSignature`: `ECSignature`): *string* -*Defined in [order-utils/src/signature_utils.ts:474](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L474)* +*Defined in [order-utils/src/signature_utils.ts:474](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L474)* Combines ECSignature with V,R,S and the EthSign signature type for use in 0x protocol @@ -31111,7 +20121,7 @@ Hex encoded string of signature (v,r,s) with Signature Type ▸ **convertToSignatureWithType**(`signature`: string, `signatureType`: `SignatureType`): *string* -*Defined in [order-utils/src/signature_utils.ts:490](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L490)* +*Defined in [order-utils/src/signature_utils.ts:490](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L490)* Combines the signature proof and the Signature Type. @@ -31130,7 +20140,7 @@ Hex encoded string of signature proof with Signature Type ▸ **ecSignHashAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `msgHash`: string, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L417)* +*Defined in [order-utils/src/signature_utils.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L417)* Signs a hash using `eth_sign` and returns its elliptic curve signature and signature type. @@ -31150,7 +20160,7 @@ A hex encoded string containing the Elliptic curve signature generated by signin ▸ **ecSignOrderAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `order`: `Order`, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:252](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L252)* +*Defined in [order-utils/src/signature_utils.ts:252](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L252)* Signs an order and returns a SignedOrder. First `eth_signTypedData` is requested then a fallback to `eth_sign` if not available on the supplied provider. @@ -31171,7 +20181,7 @@ A SignedOrder containing the order and Elliptic curve signature with Signature T ▸ **ecSignTransactionAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `transaction`: `ZeroExTransaction`, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:331](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L331)* +*Defined in [order-utils/src/signature_utils.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L331)* Signs a transaction and returns a SignedZeroExTransaction. First `eth_signTypedData` is requested then a fallback to `eth_sign` if not available on the supplied provider. @@ -31192,7 +20202,7 @@ A SignedTransaction containing the order and Elliptic curve signature with Signa ▸ **ecSignTypedDataOrderAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `order`: `Order`, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:287](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L287)* +*Defined in [order-utils/src/signature_utils.ts:287](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L287)* Signs an order using `eth_signTypedData` and returns a SignedOrder. @@ -31212,7 +20222,7 @@ A SignedOrder containing the order and Elliptic curve signature with Signature T ▸ **ecSignTypedDataTransactionAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `transaction`: `ZeroExTransaction`, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:374](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L374)* +*Defined in [order-utils/src/signature_utils.ts:374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L374)* Signs a ZeroExTransaction using `eth_signTypedData` and returns a SignedZeroExTransaction. @@ -31232,7 +20242,7 @@ A SignedZeroExTransaction containing the ZeroExTransaction and Elliptic curve si ▸ **isValidECSignature**(`data`: string, `signature`: `ECSignature`, `signerAddress`: string): *boolean* -*Defined in [order-utils/src/signature_utils.ts:222](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L222)* +*Defined in [order-utils/src/signature_utils.ts:222](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L222)* Checks if the supplied elliptic curve signature corresponds to signing `data` with the private key corresponding to `signerAddress` @@ -31253,7 +20263,7 @@ Whether the ECSignature is valid. ▸ **isValidPresignedSignatureAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `data`: string, `signerAddress`: string, `exchangeAddress?`: undefined | string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L107)* +*Defined in [order-utils/src/signature_utils.ts:107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L107)* Verifies that the provided presigned signature is valid according to the 0x Protocol smart contracts @@ -31274,7 +20284,7 @@ Whether the data was preSigned by the supplied signerAddress ▸ **isValidSignatureAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `data`: string, `signature`: string, `signerAddress`: string, `exchangeAddress?`: undefined | string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L38)* +*Defined in [order-utils/src/signature_utils.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L38)* Verifies that the provided signature is valid according to the 0x Protocol smart contracts @@ -31296,7 +20306,7 @@ Whether the signature is valid for the supplied signerAddress and data. ▸ **isValidValidatorSignatureAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `data`: string, `signature`: string, `signerAddress`: string, `exchangeAddress?`: undefined | string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L168)* +*Defined in [order-utils/src/signature_utils.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L168)* Verifies that the provided validator signature is valid according to the 0x Protocol smart contracts @@ -31318,7 +20328,7 @@ Whether the data was preSigned by the supplied signerAddress. ▸ **isValidWalletSignatureAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `data`: string, `signature`: string, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:139](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L139)* +*Defined in [order-utils/src/signature_utils.ts:139](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L139)* Verifies that the provided wallet signature is valid according to the 0x Protocol smart contracts @@ -31339,7 +20349,7 @@ Whether the data was preSigned by the supplied signerAddress. ▸ **parseECSignature**(`signature`: string): *`ECSignature`* -*Defined in [order-utils/src/signature_utils.ts:512](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L512)* +*Defined in [order-utils/src/signature_utils.ts:512](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L512)* Parse a 0x protocol hex-encoded signature string into its ECSignature components @@ -31357,7 +20367,7 @@ An ECSignature object with r,s,v parameters ▸ **parseValidatorSignature**(`signature`: string): *`ValidatorSignature`* -*Defined in [order-utils/src/signature_utils.ts:529](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L529)* +*Defined in [order-utils/src/signature_utils.ts:529](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L529)* Parse a hex-encoded Validator signature into validator address and signature components @@ -31382,13 +20392,13 @@ A ValidatorSignature with validatorAddress and signature parameters #### ▪ **transactionHashUtils**: *object* -*Defined in [order-utils/src/transaction_hash.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/transaction_hash.ts#L9)* +*Defined in [order-utils/src/transaction_hash.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/transaction_hash.ts#L9)* #### getTransactionHashBuffer ▸ **getTransactionHashBuffer**(`transaction`: `ZeroExTransaction` | `SignedZeroExTransaction`): *`Buffer`* -*Defined in [order-utils/src/transaction_hash.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/transaction_hash.ts#L41)* +*Defined in [order-utils/src/transaction_hash.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/transaction_hash.ts#L41)* Computes the transactionHash for a supplied 0x transaction. @@ -31406,7 +20416,7 @@ A Buffer containing the resulting transactionHash from hashing the supplied 0x t ▸ **getTransactionHashHex**(`transaction`: `ZeroExTransaction` | `SignedZeroExTransaction`): *string* -*Defined in [order-utils/src/transaction_hash.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/transaction_hash.ts#L30)* +*Defined in [order-utils/src/transaction_hash.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/transaction_hash.ts#L30)* Computes the transactionHash for a supplied 0x transaction. @@ -31424,7 +20434,7 @@ Hex encoded string transactionHash from hashing the supplied order. ▸ **isValidTransactionHash**(`transactionHash`: string): *boolean* -*Defined in [order-utils/src/transaction_hash.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/transaction_hash.ts#L17)* +*Defined in [order-utils/src/transaction_hash.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/transaction_hash.ts#L17)* Checks if the supplied hex encoded 0x transaction hash is valid. Note: Valid means it has the expected format, not that a transaction with the transactionHash exists. @@ -31459,7 +20469,7 @@ Whether the supplied transactionHash has the expected format. Ƭ **Callback**: *function* -*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L131)* +*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L131)* ##### Type declaration: @@ -31473,7 +20483,7 @@ ___ Ƭ **ErrorCallback**: *function* -*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L130)* +*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L130)* #### Type declaration: @@ -31505,7 +20515,7 @@ ___ Ƭ **AssetData**: *[SingleAssetData](_types_src_index_.md#singleassetdata) | [MultiAssetData](#interface-multiassetdata) | [MultiAssetDataWithRecursiveDecoding](#interface-multiassetdatawithrecursivedecoding)* -*Defined in [types/src/index.ts:228](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L228)* +*Defined in [types/src/index.ts:224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L224)* ___ @@ -31515,6 +20525,25 @@ ___ +### EventCallback + +Ƭ **EventCallback**: *function* + +*Defined in [types/src/index.ts:857](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L857)* + +#### Type declaration: + +▸ (`err`: null | `Error`, `log?`: [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*›): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`err` | null \| `Error` | +`log?` | [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*› | + +___ + @@ -31527,7 +20556,11 @@ ___ Ƭ **SingleAssetData**: *[ERC20AssetData](#interface-erc20assetdata) | [ERC721AssetData](#interface-erc721assetdata) | [ERC1155AssetData](#interface-erc1155assetdata) | [StaticCallAssetData](#interface-staticcallassetdata)* -*Defined in [types/src/index.ts:208](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L208)* +*Defined in [types/src/index.ts:204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L204)* + +
+ +
diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index 45ad67fe45..c2b0024291 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -1,6 +1,6 @@ { "name": "0x.js", - "version": "7.0.2", + "version": "7.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -46,9 +46,9 @@ }, "license": "Apache-2.0", "devDependencies": { - "@0x/contract-addresses": "^3.2.0", - "@0x/dev-utils": "^2.3.3", - "@0x/migrations": "^4.3.2", + "@0x/contract-addresses": "^3.3.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/migrations": "^4.4.0-beta.0", "@0x/ts-doc-gen": "^0.0.22", "@0x/tslint-config": "^3.0.1", "@types/lodash": "4.14.104", @@ -77,19 +77,19 @@ "webpack": "^4.20.2" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.3.2", - "@0x/assert": "^2.1.6", - "@0x/asset-swapper": "^2.0.0", - "@0x/base-contract": "^5.4.0", - "@0x/contract-wrappers": "^12.1.0", - "@0x/order-utils": "^8.4.0", - "@0x/subproviders": "^5.0.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/abi-gen-wrappers": "^5.4.0-beta.0", + "@0x/assert": "^2.2.0-beta.0", + "@0x/asset-swapper": "^2.1.0-beta.0", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contract-wrappers": "^12.2.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@types/web3-provider-engine": "^14.0.0", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethers": "~4.0.4", "lodash": "^4.17.11", "web3-provider-engine": "14.0.6" diff --git a/packages/0x.js/src/index.ts b/packages/0x.js/src/index.ts index a7518a7029..5f857bb0fa 100644 --- a/packages/0x.js/src/index.ts +++ b/packages/0x.js/src/index.ts @@ -1,4 +1,4 @@ -export { ContractAddresses } from '@0x/contract-addresses'; +export { getContractAddressesForNetworkOrThrow, NetworkId, ContractAddresses } from '@0x/contract-addresses'; export { assetDataUtils, @@ -8,21 +8,6 @@ export { transactionHashUtils, } from '@0x/order-utils'; -export { - ContractWrappers, - CoordinatorWrapper, - CoordinatorServerCancellationResponse, - CoordinatorServerError, - IndexedFilterValues, - ContractWrappersConfig, - OrderTransactionOpts, - TransactionOpts, - OrderInfo, - EventCallback, - DecodedLogEvent, - OrderStatus, -} from '@0x/contract-wrappers'; - export { ExchangeEventArgs, ExchangeEvents, @@ -33,13 +18,6 @@ export { ExchangeAssetProxyRegisteredEventArgs, ExchangeContract, DevUtilsContract, - ForwarderContract, - DutchAuctionContract, - CoordinatorContract, - CoordinatorRegistryEventArgs, - CoordinatorRegistryEvents, - CoordinatorRegistryCoordinatorEndpointSetEventArgs, - CoordinatorRegistryContract, IValidatorContract, IWalletContract, WETH9EventArgs, @@ -60,38 +38,14 @@ export { ERC721TokenApprovalEventArgs, ERC721TokenApprovalForAllEventArgs, ERC721TokenContract, - ERC1155ProxyEventArgs, - ERC1155ProxyEvents, - ERC1155ProxyAuthorizedAddressAddedEventArgs, - ERC1155ProxyAuthorizedAddressRemovedEventArgs, - ERC1155ProxyContract, ZRXTokenEventArgs, ZRXTokenEvents, ZRXTokenTransferEventArgs, ZRXTokenApprovalEventArgs, ZRXTokenContract, - DummyERC20TokenEventArgs, - DummyERC20TokenEvents, - DummyERC20TokenTransferEventArgs, - DummyERC20TokenApprovalEventArgs, - DummyERC20TokenContract, - DummyERC721TokenEventArgs, - DummyERC721TokenEvents, - DummyERC721TokenTransferEventArgs, - DummyERC721TokenApprovalEventArgs, - DummyERC721TokenApprovalForAllEventArgs, - DummyERC721TokenContract, - ERC20ProxyEventArgs, - ERC20ProxyEvents, - ERC20ProxyContract, - ERC20ProxyAuthorizedAddressAddedEventArgs, - ERC20ProxyAuthorizedAddressRemovedEventArgs, - ERC721ProxyEventArgs, - ERC721ProxyEvents, - ERC721ProxyAuthorizedAddressAddedEventArgs, - ERC721ProxyAuthorizedAddressRemovedEventArgs, - ERC721ProxyContract, - OrderValidatorContract, + ExchangeProtocolFeeCollectorAddressEventArgs, + ExchangeProtocolFeeMultiplierEventArgs, + ExchangeTransactionExecutionEventArgs, } from '@0x/abi-gen-wrappers'; export import Web3ProviderEngine = require('web3-provider-engine'); @@ -104,7 +58,7 @@ export { MetamaskSubprovider, } from '@0x/subproviders'; -export { AbiDecoder, DecodedCalldata, BigNumber } from '@0x/utils'; +export { DecodedCalldata, BigNumber } from '@0x/utils'; export { Order, @@ -128,23 +82,20 @@ export { SimpleStandardContractOutput, SimpleEvmOutput, SimpleEvmBytecodeOutput, + EIP712DomainWithDefaultSchema, + EventCallback, + IndexedFilterValues, + DecodedLogEvent, } from '@0x/types'; export { BlockRange, ContractAbi, - LogWithDecodedArgs, ContractEventArg, SupportedProvider, JSONRPCRequestPayload, JSONRPCResponsePayload, JSONRPCResponseError, - LogEntry, - DecodedLogArgs, - LogEntryEvent, - DecodedLogEntry, - DecodedLogEntryEvent, - RawLog, AbiDefinition, FunctionAbi, EventAbi, @@ -183,4 +134,7 @@ export { OutputField, ParamDescription, EvmBytecodeOutput, + RevertErrorAbi, + DecodedLogArgs, + LogWithDecodedArgs, } from 'ethereum-types'; diff --git a/packages/abi-gen-wrappers/CHANGELOG.json b/packages/abi-gen-wrappers/CHANGELOG.json index 81feeb5df0..d1fb15b3c8 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.json +++ b/packages/abi-gen-wrappers/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "6.0.0", + "version": "5.4.0-beta.0", "changes": [ { "note": "Use V3 contracts", @@ -10,7 +10,8 @@ "note": "Hardcode bytecode for local EVM execution", "pr": 2198 } - ] + ], + "timestamp": 1570135330 }, { "version": "5.3.2", diff --git a/packages/abi-gen-wrappers/CHANGELOG.md b/packages/abi-gen-wrappers/CHANGELOG.md index 420f9e76d2..fc27af744c 100644 --- a/packages/abi-gen-wrappers/CHANGELOG.md +++ b/packages/abi-gen-wrappers/CHANGELOG.md @@ -5,6 +5,11 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.4.0-beta.0 - _October 3, 2019_ + + * Use V3 contracts (#2181) + * Hardcode bytecode for local EVM execution (#2198) + ## v5.3.2 - _September 17, 2019_ * Redirect `callAsync` to use local EVM instead of eth_call for pure functions (#2108) @@ -47,7 +52,9 @@ CHANGELOG ## v4.3.0 - _May 10, 2019_ + * Update Coordinator and Exchange wrappers (#1742) * Update wrapper functions to expose `awaitTransactionSuccessAsync()` methods (#1797) + * Update wrappers to automatically throw `RevertError` types when possible. (#1819) ## v4.2.0 - _April 11, 2019_ diff --git a/packages/abi-gen-wrappers/package.json b/packages/abi-gen-wrappers/package.json index 5fda73e91c..48925f10e3 100644 --- a/packages/abi-gen-wrappers/package.json +++ b/packages/abi-gen-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/abi-gen-wrappers", - "version": "5.3.2", + "version": "5.4.0-beta.0", "engines": { "node": ">=6.12" }, @@ -33,22 +33,22 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/abi-gen-wrappers/README.md", "devDependencies": { - "@0x/abi-gen": "^4.2.1", - "@0x/assert": "^2.1.6", - "@0x/json-schemas": "^4.0.2", + "@0x/abi-gen": "^4.3.0-beta.0", + "@0x/assert": "^2.2.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", "@0x/tslint-config": "^3.0.1", - "@0x/types": "^2.4.3", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/types": "^2.5.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethers": "~4.0.4", "lodash": "^4.17.11", "shx": "^0.2.2" }, "dependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contract-addresses": "^3.2.0", - "@0x/contract-artifacts": "^2.2.2" + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contract-addresses": "^3.3.0-beta.0", + "@0x/contract-artifacts": "^2.3.0-beta.0" }, "publishConfig": { "access": "public" diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts index d42be9f75d..54114d6915 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/asset_proxy_owner.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,55 +19,39 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable export type AssetProxyOwnerEventArgs = - | AssetProxyOwnerFunctionCallTimeLockRegistrationEventArgs - | AssetProxyOwnerConfirmationTimeSetEventArgs - | AssetProxyOwnerTimeLockChangeEventArgs | AssetProxyOwnerConfirmationEventArgs - | AssetProxyOwnerRevocationEventArgs - | AssetProxyOwnerSubmissionEventArgs + | AssetProxyOwnerConfirmationTimeSetEventArgs + | AssetProxyOwnerDepositEventArgs | AssetProxyOwnerExecutionEventArgs | AssetProxyOwnerExecutionFailureEventArgs - | AssetProxyOwnerDepositEventArgs + | AssetProxyOwnerFunctionCallTimeLockRegistrationEventArgs | AssetProxyOwnerOwnerAdditionEventArgs | AssetProxyOwnerOwnerRemovalEventArgs - | AssetProxyOwnerRequirementChangeEventArgs; + | AssetProxyOwnerRequirementChangeEventArgs + | AssetProxyOwnerRevocationEventArgs + | AssetProxyOwnerSubmissionEventArgs + | AssetProxyOwnerTimeLockChangeEventArgs; export enum AssetProxyOwnerEvents { - FunctionCallTimeLockRegistration = 'FunctionCallTimeLockRegistration', - ConfirmationTimeSet = 'ConfirmationTimeSet', - TimeLockChange = 'TimeLockChange', Confirmation = 'Confirmation', - Revocation = 'Revocation', - Submission = 'Submission', + ConfirmationTimeSet = 'ConfirmationTimeSet', + Deposit = 'Deposit', Execution = 'Execution', ExecutionFailure = 'ExecutionFailure', - Deposit = 'Deposit', + FunctionCallTimeLockRegistration = 'FunctionCallTimeLockRegistration', OwnerAddition = 'OwnerAddition', OwnerRemoval = 'OwnerRemoval', RequirementChange = 'RequirementChange', -} - -export interface AssetProxyOwnerFunctionCallTimeLockRegistrationEventArgs extends DecodedLogArgs { - functionSelector: string; - destination: string; - hasCustomTimeLock: boolean; - newSecondsTimeLocked: BigNumber; -} - -export interface AssetProxyOwnerConfirmationTimeSetEventArgs extends DecodedLogArgs { - transactionId: BigNumber; - confirmationTime: BigNumber; -} - -export interface AssetProxyOwnerTimeLockChangeEventArgs extends DecodedLogArgs { - secondsTimeLocked: BigNumber; + Revocation = 'Revocation', + Submission = 'Submission', + TimeLockChange = 'TimeLockChange', } export interface AssetProxyOwnerConfirmationEventArgs extends DecodedLogArgs { @@ -81,13 +59,14 @@ export interface AssetProxyOwnerConfirmationEventArgs extends DecodedLogArgs { transactionId: BigNumber; } -export interface AssetProxyOwnerRevocationEventArgs extends DecodedLogArgs { - sender: string; +export interface AssetProxyOwnerConfirmationTimeSetEventArgs extends DecodedLogArgs { transactionId: BigNumber; + confirmationTime: BigNumber; } -export interface AssetProxyOwnerSubmissionEventArgs extends DecodedLogArgs { - transactionId: BigNumber; +export interface AssetProxyOwnerDepositEventArgs extends DecodedLogArgs { + sender: string; + value: BigNumber; } export interface AssetProxyOwnerExecutionEventArgs extends DecodedLogArgs { @@ -98,9 +77,11 @@ export interface AssetProxyOwnerExecutionFailureEventArgs extends DecodedLogArgs transactionId: BigNumber; } -export interface AssetProxyOwnerDepositEventArgs extends DecodedLogArgs { - sender: string; - value: BigNumber; +export interface AssetProxyOwnerFunctionCallTimeLockRegistrationEventArgs extends DecodedLogArgs { + functionSelector: string; + destination: string; + hasCustomTimeLock: boolean; + newSecondsTimeLocked: BigNumber; } export interface AssetProxyOwnerOwnerAdditionEventArgs extends DecodedLogArgs { @@ -115,24 +96,32 @@ export interface AssetProxyOwnerRequirementChangeEventArgs extends DecodedLogArg required: BigNumber; } +export interface AssetProxyOwnerRevocationEventArgs extends DecodedLogArgs { + sender: string; + transactionId: BigNumber; +} + +export interface AssetProxyOwnerSubmissionEventArgs extends DecodedLogArgs { + transactionId: BigNumber; +} + +export interface AssetProxyOwnerTimeLockChangeEventArgs extends DecodedLogArgs { + secondsTimeLocked: BigNumber; +} + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class AssetProxyOwnerContract extends BaseContract { public static deployedBytecode = - '0x6080604052600436106101a15760003560e01c80639ace38c2116100e1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd146104ff578063dc8452cd14610514578063e20056e614610529578063ee22610b14610549576101a1565b8063c01a8c841461049f578063c6427474146104bf578063d38f2d82146104df576101a1565b8063b5dc40c3116100bb578063b5dc40c31461044a578063b77bf6001461046a578063ba51a6df1461047f576101a1565b80639ace38c2146103cb578063a0e67e2b146103fb578063a8abe69a1461041d576101a1565b8063547415251161014e578063784547a711610128578063784547a71461033d5780637ad28c511461035d5780637f05c8b61461037d5780638b51d13f146103ab576101a1565b806354741525146102dd5780637065cb48146102fd578063751ad5601461031d576101a1565b80632f54bf6e1161017f5780632f54bf6e1461026e5780633411c81c1461029b57806337bd78a0146102bb576101a1565b8063025e7c27146101f8578063173825d91461022e57806320ea8d861461024e575b34156101f6573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101ed9190612b50565b60405180910390a25b005b34801561020457600080fd5b50610218610213366004612589565b610569565b6040516102259190612622565b60405180910390f35b34801561023a57600080fd5b506101f6610249366004612304565b61059d565b34801561025a57600080fd5b506101f6610269366004612589565b61084c565b34801561027a57600080fd5b5061028e610289366004612304565b6109a7565b6040516102259190612751565b3480156102a757600080fd5b5061028e6102b63660046125a2565b6109bc565b3480156102c757600080fd5b506102d06109dc565b6040516102259190612b50565b3480156102e957600080fd5b506102d06102f83660046124c5565b6109e2565b34801561030957600080fd5b506101f6610318366004612304565b610a4e565b34801561032957600080fd5b506101f66103383660046124fa565b610c73565b34801561034957600080fd5b5061028e610358366004612589565b610cbe565b34801561036957600080fd5b506101f6610378366004612589565b610d52565b34801561038957600080fd5b5061039d61039836600461256b565b610dcb565b60405161022592919061275c565b3480156103b757600080fd5b506102d06103c6366004612589565b610e04565b3480156103d757600080fd5b506103eb6103e6366004612589565b610e80565b6040516102259493929190612643565b34801561040757600080fd5b50610410610f69565b60405161022591906126c0565b34801561042957600080fd5b5061043d6104383660046125c7565b610fd9565b6040516102259190612719565b34801561045657600080fd5b50610410610465366004612589565b611104565b34801561047657600080fd5b506102d06112bc565b34801561048b57600080fd5b506101f661049a366004612589565b6112c2565b3480156104ab57600080fd5b506101f66104ba366004612589565b61139e565b3480156104cb57600080fd5b506102d06104da36600461235a565b611568565b3480156104eb57600080fd5b506102d06104fa366004612589565b611587565b34801561050b57600080fd5b506102d0611599565b34801561052057600080fd5b506102d061159e565b34801561053557600080fd5b506101f6610544366004612321565b6115a4565b34801561055557600080fd5b506101f6610564366004612589565b61182e565b6003818154811061057657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b3330146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff16610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018110156107bc578273ffffffffffffffffffffffffffffffffffffffff16600382815481106106dc57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156107b457600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061073457fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff909216918390811061076757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107bc565b60010161068c565b50600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906107ee9082612100565b50600354600454111561080757600354610807906112c2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff16610895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b60008281526001602090815260408083203380855292529091205483919060ff166108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612961565b600084815260208190526040902060030154849060ff161561093a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ae2565b600085815260016020908152604080832033808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a4757838015610a0f575060008181526020819052604090206003015460ff16155b80610a335750828015610a33575060008181526020819052604090206003015460ff165b15610a3f576001820191505b6001016109e6565b5092915050565b333014610a87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff1615610ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612885565b8173ffffffffffffffffffffffffffffffffffffffff8116610b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612817565b60038054905060010160045460328211158015610b545750818111155b8015610b5f57508015155b8015610b6a57508115155b610ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b19565b73ffffffffffffffffffffffffffffffffffffffff851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b333014610cac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b610cb884848484611b79565b50505050565b600080805b600354811015610d4a5760008481526001602052604081206003805491929184908110610cec57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610d2d576001820191505b600454821415610d4257600192505050610d4d565b600101610cc3565b50505b919050565b333014610d8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60068190556040517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b437790610dc0908390612b50565b60405180910390a150565b600860209081526000928352604080842090915290825290205460ff81169061010090046fffffffffffffffffffffffffffffffff1682565b6000805b600354811015610e7a5760008381526001602052604081206003805491929184908110610e3157fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610e72576001820191505b600101610e08565b50919050565b60006020818152918152604090819020805460018083015460028085018054875161010095821615959095027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f810188900488028401880190965285835273ffffffffffffffffffffffffffffffffffffffff90931695909491929190830182828015610f565780601f10610f2b57610100808354040283529160200191610f56565b820191906000526020600020905b815481529060010190602001808311610f3957829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610fce57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fa3575b505050505090505b90565b606080600554604051908082528060200260200182016040528015611008578160200160208202803883390190505b5090506000805b60055481101561108957858015611038575060008181526020819052604090206003015460ff16155b8061105c575084801561105c575060008181526020819052604090206003015460ff165b15611081578083838151811061106e57fe5b6020026020010181815250506001820191505b60010161100f565b8787036040519080825280602002602001820160405280156110b5578160200160208202803883390190505b5093508790505b868110156110f9578281815181106110d057fe5b602002602001015184898303815181106110e657fe5b60209081029190910101526001016110bc565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015611136578160200160208202803883390190505b5090506000805b60035481101561122d576000858152600160205260408120600380549192918490811061116657fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff161561122557600381815481106111ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383815181106111e457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b60010161113d565b81604051908082528060200260200182016040528015611257578160200160208202803883390190505b509350600090505b818110156112b45782818151811061127357fe5b602002602001015184828151811061128757fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161125f565b505050919050565b60055481565b3330146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60035481603282118015906113105750818111155b801561131b57508015155b801561132657508115155b61135c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b19565b60048390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90611391908590612b50565b60405180910390a1505050565b3360008181526002602052604090205460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16611444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061292a565b60008381526001602090815260408083203380855292529091205484919060ff161561149c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128bc565b846114a681610cbe565b156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612aab565b600086815260016020818152604080842033808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361155186610cbe565b15611560576115608642611cb1565b505050505050565b6000611575848484611d00565b90506115808161139e565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b3330146115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff1661163e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff16156116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612885565b60005b60035481101561175c578473ffffffffffffffffffffffffffffffffffffffff16600382815481106116d157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561175457836003828154811061170757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175c565b6001016116a3565b5073ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a260405173ffffffffffffffffffffffffffffffffffffffff8416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600081815260208190526040902060030154819060ff161561187c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ae2565b8161188681610cbe565b6118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128f3565b6000838152602081815260409182902060038101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560028083018054865161010094821615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f81018590048502830185019095528482529193606093849384939290918301828280156119a85780601f1061197d576101008083540402835291602001916119a8565b820191906000526020600020905b81548152906001019060200180831161198b57829003601f168201915b50505050508060200190516119c091908101906123ef565b9250925092506000835190508251811480156119dc5750815181145b611a12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612998565b600088815260076020526040812054905b828114611b4257611a5b82878381518110611a3a57fe5b6020026020010151878481518110611a4e57fe5b6020026020010151611e5e565b6000858281518110611a6957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16858381518110611a9357fe5b6020026020010151888481518110611aa757fe5b6020026020010151604051611abc9190612606565b60006040518083038185875af1925050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129cf565b50600101611a23565b5060405189907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2505050505050505050565b600084611b87576000611b89565b815b9050611b93612129565b5060408051808201825286151581526fffffffffffffffffffffffffffffffff80841660208084019182527fffffffff00000000000000000000000000000000000000000000000000000000891660009081526008825285812073ffffffffffffffffffffffffffffffffffffffff8a168252909152849020835181549251909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec90611ca190879087908a90879061277e565b60405180910390a1505050505050565b600082815260076020526040908190208290555182907f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d90611cf4908490612b50565b60405180910390a25050565b60008373ffffffffffffffffffffffffffffffffffffffff8116611d50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612817565b6005546040805160808101825273ffffffffffffffffffffffffffffffffffffffff8881168252602080830189815283850189815260006060860181905287815280845295909520845181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160018301559251805194965091939092611de8926002850192910190612140565b5060609190910151600390910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000611e70838263ffffffff611fbd16565b9050611e7a612129565b507fffffffff000000000000000000000000000000000000000000000000000000008116600090815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845282529182902082518084019093525460ff811615801584526101009091046fffffffffffffffffffffffffffffffff1691830191909152611f69576020810151611f2b9086906fffffffffffffffffffffffffffffffff1663ffffffff61201816565b421015611f64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a3d565b611fb6565b600654611f7d90869063ffffffff61201816565b421015611fb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061284e565b5050505050565b60008160040183511015611fe357611fe3611fde6003855185600401612034565b6120d9565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b60008282018381101561158057611580611fde600086866120e1565b6060632800659560e01b84848460405160240161205393929190612809565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b606063e946c1bb60e01b848484604051602401612053939291906127e7565b815481835581811115612124576000838152602090206121249181019083016121be565b505050565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061218157805160ff19168380011785556121ae565b828001600101855582156121ae579182015b828111156121ae578251825591602001919060010190612193565b506121ba9291506121be565b5090565b610fd691905b808211156121ba57600081556001016121c4565b600082601f8301126121e8578081fd5b81516121fb6121f682612b80565b612b59565b81815291506020808301908481018184028601820187101561221c57600080fd5b60005b8481101561224457815161223281612c10565b8452928201929082019060010161221f565b505050505092915050565b600082601f83011261225f578081fd5b815161226d6121f682612b80565b81815291506020808301908481018184028601820187101561228e57600080fd5b60005b8481101561224457815184529282019290820190600101612291565b8035801515811461201257600080fd5b600082601f8301126122ce57600080fd5b81516122dc6121f682612ba1565b91508082528360208285010111156122f357600080fd5b610a47816020840160208601612be4565b60006020828403121561231657600080fd5b813561158081612c10565b6000806040838503121561233457600080fd5b823561233f81612c10565b9150602083013561234f81612c10565b809150509250929050565b60008060006060848603121561236e578081fd5b833561237981612c10565b925060208401359150604084013567ffffffffffffffff81111561239b578182fd5b80850186601f8201126123ac578283fd5b803591506123bc6121f683612ba1565b8281528760208484010111156123d0578384fd5b8260208301602083013783602084830101528093505050509250925092565b600080600060608486031215612403578283fd5b835167ffffffffffffffff8082111561241a578485fd5b81860187601f82011261242b578586fd5b8051925061243b6121f684612b80565b83815260208082019190838101895b87811015612473576124618d8484518901016122bd565b8552938201939082019060010161244a565b5050890151909750935050508082111561248c57600080fd5b612498878388016121d8565b935060408601519150808211156124ae57600080fd5b506124bb8682870161224f565b9150509250925092565b600080604083850312156124d857600080fd5b6124e284846122ad565b91506124f184602085016122ad565b90509250929050565b6000806000806080858703121561251057600080fd5b843561251b81612c35565b9350602085013561252b81612c43565b9250604085013561253b81612c10565b915060608501356fffffffffffffffffffffffffffffffff8116811461256057600080fd5b939692955090935050565b6000806040838503121561257e57600080fd5b823561233f81612c43565b60006020828403121561259b57600080fd5b5035919050565b600080604083850312156125b557600080fd5b82359150602083013561234f81612c10565b600080600080608085870312156125dd57600080fd5b843593506020850135925060408501356125f681612c35565b9150606085013561256081612c35565b60008251612618818460208701612be4565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff861682528460208301526080604083015283518060808401526126848160a0850160208801612be4565b921515606083015250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160160a0019392505050565b602080825282518282018190526000918401906040840190835b8181101561270e57835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016126da565b509095945050505050565b602080825282518282018190526000918401906040840190835b8181101561270e578351835260209384019390920191600101612733565b901515815260200190565b91151582526fffffffffffffffffffffffffffffffff16602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845273ffffffffffffffffffffffffffffffffffffffff929092166020840152151560408301526fffffffffffffffffffffffffffffffff16606082015260800190565b60608101600485106127f557fe5b938152602081019290925260409091015290565b60608101600885106127f557fe5b6020808252600c908201527f4e554c4c5f414444524553530000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f44454641554c545f54494d455f4c4f434b5f494e434f4d504c45544500000000604082015260600190565b6020808252600c908201527f4f574e45525f4558495354530000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f54585f414c52454144595f434f4e4649524d4544000000000000000000000000604082015260600190565b60208082526016908201527f54585f4e4f545f46554c4c595f434f4e4649524d454400000000000000000000604082015260600190565b6020808252600f908201527f54585f444f45534e545f45584953540000000000000000000000000000000000604082015260600190565b60208082526010908201527f54585f4e4f545f434f4e4649524d454400000000000000000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526010908201527f4641494c45445f455845435554494f4e00000000000000000000000000000000604082015260600190565b60208082526012908201527f4f574e45525f444f45534e545f45584953540000000000000000000000000000604082015260600190565b6020808252601b908201527f435553544f4d5f54494d455f4c4f434b5f494e434f4d504c4554450000000000604082015260600190565b60208082526017908201527f4f4e4c595f43414c4c41424c455f42595f57414c4c4554000000000000000000604082015260600190565b60208082526012908201527f54585f46554c4c595f434f4e4649524d45440000000000000000000000000000604082015260600190565b60208082526013908201527f54585f414c52454144595f455845435554454400000000000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b7857600080fd5b604052919050565b600067ffffffffffffffff821115612b9757600080fd5b5060209081020190565b600067ffffffffffffffff821115612bb857600080fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612bff578181015183820152602001612be7565b83811115610cb85750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612c3257600080fd5b50565b8015158114612c3257600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612c3257600080fdfea365627a7a72315820fde77fb156df719d98fae1b78ff2ce4e43249cead592d52574647daf8cb29f0c6c6578706572696d656e74616cf564736f6c634300050b0040'; - public owners = { + '0x6080604052600436106101a15760003560e01c80639ace38c2116100e1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd146104ff578063dc8452cd14610514578063e20056e614610529578063ee22610b14610549576101a1565b8063c01a8c841461049f578063c6427474146104bf578063d38f2d82146104df576101a1565b8063b5dc40c3116100bb578063b5dc40c31461044a578063b77bf6001461046a578063ba51a6df1461047f576101a1565b80639ace38c2146103cb578063a0e67e2b146103fb578063a8abe69a1461041d576101a1565b8063547415251161014e578063784547a711610128578063784547a71461033d5780637ad28c511461035d5780637f05c8b61461037d5780638b51d13f146103ab576101a1565b806354741525146102dd5780637065cb48146102fd578063751ad5601461031d576101a1565b80632f54bf6e1161017f5780632f54bf6e1461026e5780633411c81c1461029b57806337bd78a0146102bb576101a1565b8063025e7c27146101f8578063173825d91461022e57806320ea8d861461024e575b34156101f6573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101ed9190612b44565b60405180910390a25b005b34801561020457600080fd5b50610218610213366004612580565b610569565b6040516102259190612616565b60405180910390f35b34801561023a57600080fd5b506101f6610249366004612303565b61059d565b34801561025a57600080fd5b506101f6610269366004612580565b61084c565b34801561027a57600080fd5b5061028e610289366004612303565b6109a7565b6040516102259190612745565b3480156102a757600080fd5b5061028e6102b6366004612598565b6109bc565b3480156102c757600080fd5b506102d06109dc565b6040516102259190612b44565b3480156102e957600080fd5b506102d06102f83660046124c0565b6109e2565b34801561030957600080fd5b506101f6610318366004612303565b610a4e565b34801561032957600080fd5b506101f66103383660046124f4565b610c73565b34801561034957600080fd5b5061028e610358366004612580565b610cbe565b34801561036957600080fd5b506101f6610378366004612580565b610d52565b34801561038957600080fd5b5061039d610398366004612563565b610dcb565b604051610225929190612750565b3480156103b757600080fd5b506102d06103c6366004612580565b610e04565b3480156103d757600080fd5b506103eb6103e6366004612580565b610e80565b6040516102259493929190612637565b34801561040757600080fd5b50610410610f69565b60405161022591906126b4565b34801561042957600080fd5b5061043d6104383660046125bc565b610fd9565b604051610225919061270d565b34801561045657600080fd5b50610410610465366004612580565b611104565b34801561047657600080fd5b506102d06112bc565b34801561048b57600080fd5b506101f661049a366004612580565b6112c2565b3480156104ab57600080fd5b506101f66104ba366004612580565b61139e565b3480156104cb57600080fd5b506102d06104da366004612357565b611568565b3480156104eb57600080fd5b506102d06104fa366004612580565b611587565b34801561050b57600080fd5b506102d0611599565b34801561052057600080fd5b506102d061159e565b34801561053557600080fd5b506101f661054436600461231f565b6115a4565b34801561055557600080fd5b506101f6610564366004612580565b61182e565b6003818154811061057657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b3330146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff16610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018110156107bc578273ffffffffffffffffffffffffffffffffffffffff16600382815481106106dc57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156107b457600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061073457fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff909216918390811061076757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107bc565b60010161068c565b50600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906107ee9082612100565b50600354600454111561080757600354610807906112c2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff16610895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b60008281526001602090815260408083203380855292529091205483919060ff166108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612955565b600084815260208190526040902060030154849060ff161561093a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ad6565b600085815260016020908152604080832033808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a4757838015610a0f575060008181526020819052604090206003015460ff16155b80610a335750828015610a33575060008181526020819052604090206003015460ff165b15610a3f576001820191505b6001016109e6565b5092915050565b333014610a87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff1615610ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612879565b8173ffffffffffffffffffffffffffffffffffffffff8116610b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061280b565b60038054905060010160045460328211158015610b545750818111155b8015610b5f57508015155b8015610b6a57508115155b610ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b0d565b73ffffffffffffffffffffffffffffffffffffffff851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b333014610cac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b610cb884848484611b79565b50505050565b600080805b600354811015610d4a5760008481526001602052604081206003805491929184908110610cec57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610d2d576001820191505b600454821415610d4257600192505050610d4d565b600101610cc3565b50505b919050565b333014610d8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60068190556040517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b437790610dc0908390612b44565b60405180910390a150565b600860209081526000928352604080842090915290825290205460ff81169061010090046fffffffffffffffffffffffffffffffff1682565b6000805b600354811015610e7a5760008381526001602052604081206003805491929184908110610e3157fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610e72576001820191505b600101610e08565b50919050565b60006020818152918152604090819020805460018083015460028085018054875161010095821615959095027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f810188900488028401880190965285835273ffffffffffffffffffffffffffffffffffffffff90931695909491929190830182828015610f565780601f10610f2b57610100808354040283529160200191610f56565b820191906000526020600020905b815481529060010190602001808311610f3957829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610fce57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fa3575b505050505090505b90565b606080600554604051908082528060200260200182016040528015611008578160200160208202803883390190505b5090506000805b60055481101561108957858015611038575060008181526020819052604090206003015460ff16155b8061105c575084801561105c575060008181526020819052604090206003015460ff165b15611081578083838151811061106e57fe5b6020026020010181815250506001820191505b60010161100f565b8787036040519080825280602002602001820160405280156110b5578160200160208202803883390190505b5093508790505b868110156110f9578281815181106110d057fe5b602002602001015184898303815181106110e657fe5b60209081029190910101526001016110bc565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015611136578160200160208202803883390190505b5090506000805b60035481101561122d576000858152600160205260408120600380549192918490811061116657fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff161561122557600381815481106111ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383815181106111e457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b60010161113d565b81604051908082528060200260200182016040528015611257578160200160208202803883390190505b509350600090505b818110156112b45782818151811061127357fe5b602002602001015184828151811061128757fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161125f565b505050919050565b60055481565b3330146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60035481603282118015906113105750818111155b801561131b57508015155b801561132657508115155b61135c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b0d565b60048390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90611391908590612b44565b60405180910390a1505050565b3360008181526002602052604090205460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16611444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061291e565b60008381526001602090815260408083203380855292529091205484919060ff161561149c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128b0565b846114a681610cbe565b156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a9f565b600086815260016020818152604080842033808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361155186610cbe565b15611560576115608642611cb1565b505050505050565b6000611575848484611d00565b90506115808161139e565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b3330146115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff1661163e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff16156116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612879565b60005b60035481101561175c578473ffffffffffffffffffffffffffffffffffffffff16600382815481106116d157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561175457836003828154811061170757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175c565b6001016116a3565b5073ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a260405173ffffffffffffffffffffffffffffffffffffffff8416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600081815260208190526040902060030154819060ff161561187c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ad6565b8161188681610cbe565b6118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128e7565b6000838152602081815260409182902060038101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560028083018054865161010094821615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f81018590048502830185019095528482529193606093849384939290918301828280156119a85780601f1061197d576101008083540402835291602001916119a8565b820191906000526020600020905b81548152906001019060200180831161198b57829003601f168201915b50505050508060200190516119c091908101906123ec565b9250925092506000835190508251811480156119dc5750815181145b611a12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061298c565b600088815260076020526040812054905b828114611b4257611a5b82878381518110611a3a57fe5b6020026020010151878481518110611a4e57fe5b6020026020010151611e5e565b6000858281518110611a6957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16858381518110611a9357fe5b6020026020010151888481518110611aa757fe5b6020026020010151604051611abc91906125fa565b60006040518083038185875af1925050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129c3565b50600101611a23565b5060405189907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2505050505050505050565b600084611b87576000611b89565b815b9050611b93612129565b5060408051808201825286151581526fffffffffffffffffffffffffffffffff80841660208084019182527fffffffff00000000000000000000000000000000000000000000000000000000891660009081526008825285812073ffffffffffffffffffffffffffffffffffffffff8a168252909152849020835181549251909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec90611ca190879087908a908790612772565b60405180910390a1505050505050565b600082815260076020526040908190208290555182907f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d90611cf4908490612b44565b60405180910390a25050565b60008373ffffffffffffffffffffffffffffffffffffffff8116611d50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061280b565b6005546040805160808101825273ffffffffffffffffffffffffffffffffffffffff8881168252602080830189815283850189815260006060860181905287815280845295909520845181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160018301559251805194965091939092611de8926002850192910190612140565b5060609190910151600390910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000611e70838263ffffffff611fbd16565b9050611e7a612129565b507fffffffff000000000000000000000000000000000000000000000000000000008116600090815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845282529182902082518084019093525460ff811615801584526101009091046fffffffffffffffffffffffffffffffff1691830191909152611f69576020810151611f2b9086906fffffffffffffffffffffffffffffffff1663ffffffff61201816565b421015611f64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a31565b611fb6565b600654611f7d90869063ffffffff61201816565b421015611fb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612842565b5050505050565b60008160040183511015611fe357611fe3611fde6003855185600401612034565b6120d9565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b60008282018381101561158057611580611fde600086866120e1565b6060632800659560e01b848484604051602401612053939291906127fd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b606063e946c1bb60e01b848484604051602401612053939291906127db565b815481835581811115612124576000838152602090206121249181019083016121be565b505050565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061218157805160ff19168380011785556121ae565b828001600101855582156121ae579182015b828111156121ae578251825591602001919060010190612193565b506121ba9291506121be565b5090565b610fd691905b808211156121ba57600081556001016121c4565b600082601f8301126121e8578081fd5b81516121fb6121f682612b74565b612b4d565b81815291506020808301908481018184028601820187101561221c57600080fd5b60005b8481101561224457815161223281612c02565b8452928201929082019060010161221f565b505050505092915050565b600082601f83011261225f578081fd5b815161226d6121f682612b74565b81815291506020808301908481018184028601820187101561228e57600080fd5b60005b8481101561224457815184529282019290820190600101612291565b8035801515811461201257600080fd5b600082601f8301126122cd578081fd5b81516122db6121f682612b94565b91508082528360208285010111156122f257600080fd5b610a47816020840160208601612bd6565b600060208284031215612314578081fd5b813561158081612c02565b60008060408385031215612331578081fd5b823561233c81612c02565b9150602083013561234c81612c02565b809150509250929050565b60008060006060848603121561236b578081fd5b833561237681612c02565b925060208401359150604084013567ffffffffffffffff811115612398578182fd5b80850186601f8201126123a9578283fd5b803591506123b96121f683612b94565b8281528760208484010111156123cd578384fd5b8260208301602083013783602084830101528093505050509250925092565b600080600060608486031215612400578283fd5b835167ffffffffffffffff80821115612417578485fd5b81860187601f820112612428578586fd5b805192506124386121f684612b74565b83815260208082019190838101895b878110156124705761245e8d8484518901016122bd565b85529382019390820190600101612447565b50508901519097509350505080821115612488578384fd5b612494878388016121d8565b935060408601519150808211156124a9578283fd5b506124b68682870161224f565b9150509250925092565b600080604083850312156124d2578182fd5b6124dc84846122ad565b91506124eb84602085016122ad565b90509250929050565b60008060008060808587031215612509578081fd5b843561251481612c27565b9350602085013561252481612c35565b9250604085013561253481612c02565b915060608501356fffffffffffffffffffffffffffffffff81168114612558578182fd5b939692955090935050565b60008060408385031215612575578182fd5b823561233c81612c35565b600060208284031215612591578081fd5b5035919050565b600080604083850312156125aa578182fd5b82359150602083013561234c81612c02565b600080600080608085870312156125d1578182fd5b843593506020850135925060408501356125ea81612c27565b9150606085013561255881612c27565b6000825161260c818460208701612bd6565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff861682528460208301526080604083015283518060808401526126788160a0850160208801612bd6565b921515606083015250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160160a0019392505050565b602080825282518282018190526000918401906040840190835b8181101561270257835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016126ce565b509095945050505050565b602080825282518282018190526000918401906040840190835b81811015612702578351835260209384019390920191600101612727565b901515815260200190565b91151582526fffffffffffffffffffffffffffffffff16602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845273ffffffffffffffffffffffffffffffffffffffff929092166020840152151560408301526fffffffffffffffffffffffffffffffff16606082015260800190565b60608101600485106127e957fe5b938152602081019290925260409091015290565b60608101600885106127e957fe5b6020808252600c908201527f4e554c4c5f414444524553530000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f44454641554c545f54494d455f4c4f434b5f494e434f4d504c45544500000000604082015260600190565b6020808252600c908201527f4f574e45525f4558495354530000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f54585f414c52454144595f434f4e4649524d4544000000000000000000000000604082015260600190565b60208082526016908201527f54585f4e4f545f46554c4c595f434f4e4649524d454400000000000000000000604082015260600190565b6020808252600f908201527f54585f444f45534e545f45584953540000000000000000000000000000000000604082015260600190565b60208082526010908201527f54585f4e4f545f434f4e4649524d454400000000000000000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526010908201527f4641494c45445f455845435554494f4e00000000000000000000000000000000604082015260600190565b60208082526012908201527f4f574e45525f444f45534e545f45584953540000000000000000000000000000604082015260600190565b6020808252601b908201527f435553544f4d5f54494d455f4c4f434b5f494e434f4d504c4554450000000000604082015260600190565b60208082526017908201527f4f4e4c595f43414c4c41424c455f42595f57414c4c4554000000000000000000604082015260600190565b60208082526012908201527f54585f46554c4c595f434f4e4649524d45440000000000000000000000000000604082015260600190565b60208082526013908201527f54585f414c52454144595f455845435554454400000000000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b6c57600080fd5b604052919050565b600067ffffffffffffffff821115612b8a578081fd5b5060209081020190565b600067ffffffffffffffff821115612baa578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612bf1578181015183820152602001612bd9565b83811115610cb85750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612c2457600080fd5b50565b8015158114612c2457600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612c2457600080fdfea365627a7a723158200ac5186607cd3ec8212bb7bd34d7047a94bed6fb931222d7ea453055d00701cd6c6578706572696d656e74616cf564736f6c634300050c0040'; + public MAX_OWNER_COUNT = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. */ - async callAsync( - index_0: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('index_0', index_0); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -142,7 +131,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0]); + const encodedData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -162,9 +151,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); + const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -174,10 +163,9 @@ export class AssetProxyOwnerContract extends BaseContract { * to create a 0x transaction (see protocol spec for more details). * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(index_0: BigNumber): string { - assert.isBigNumber('index_0', index_0); + getABIEncodedTransactionData(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0]); + const abiEncodedTransactionData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); return abiEncodedTransactionData; }, /** @@ -185,11 +173,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): BigNumber { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); + const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -197,11 +185,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); + const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -209,25 +197,25 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); + const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); return abiEncoder.getSelector(); }, }; /** - * Allows to remove an owner. Transaction has to be sent by wallet. + * Allows to add a new owner. Transaction has to be sent by wallet. */ - public removeOwner = { + public addOwner = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param owner Address of owner. + * @param owner Address of new owner. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -246,7 +234,7 @@ export class AssetProxyOwnerContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param owner Address of owner. + * @param owner Address of new owner. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful @@ -259,7 +247,7 @@ export class AssetProxyOwnerContract extends BaseContract { ): PromiseWithTransactionHash { assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase(), txData); + const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase(), txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -274,14 +262,14 @@ export class AssetProxyOwnerContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param owner Address of owner. + * @param owner Address of new owner. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -298,15 +286,15 @@ export class AssetProxyOwnerContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { - await (this as any).removeOwner.callAsync(owner, txData); - const txHash = await (this as any).removeOwner.sendTransactionAsync(owner, txData); + await (this as any).addOwner.callAsync(owner, txData); + const txHash = await (this as any).addOwner.sendTransactionAsync(owner, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param owner Address of owner. + * @param owner Address of new owner. */ async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('owner', owner); @@ -319,7 +307,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -339,7 +327,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); + const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -349,15 +337,13 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param owner Address of owner. + * @param owner Address of new owner. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData(owner: string): string { assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [ - owner.toLowerCase(), - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); return abiEncodedTransactionData; }, /** @@ -367,7 +353,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); + const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -379,7 +365,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); + const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -389,25 +375,25 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); + const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); return abiEncoder.getSelector(); }, }; /** - * Allows an owner to revoke a confirmation for a transaction. + * Allows to change the number of required confirmations. Transaction has to be sent by wallet. */ - public revokeConfirmation = { + public changeRequirement = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param transactionId Transaction ID. + * @param _required Number of required confirmations. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); + async sendTransactionAsync(_required: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_required', _required); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -426,20 +412,20 @@ export class AssetProxyOwnerContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param transactionId Transaction ID. + * @param _required Number of required confirmations. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - transactionId: BigNumber, + _required: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); + assert.isBigNumber('_required', _required); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId, txData); + const txHashPromise = self.changeRequirement.sendTransactionAsync(_required, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -454,14 +440,14 @@ export class AssetProxyOwnerContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param transactionId Transaction ID. + * @param _required Number of required confirmations. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); + async estimateGasAsync(_required: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_required', _required); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -478,25 +464,25 @@ export class AssetProxyOwnerContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - transactionId: BigNumber, + _required: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).revokeConfirmation.callAsync(transactionId, txData); - const txHash = await (this as any).revokeConfirmation.sendTransactionAsync(transactionId, txData); + await (this as any).changeRequirement.callAsync(_required, txData); + const txHash = await (this as any).changeRequirement.sendTransactionAsync(_required, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transactionId Transaction ID. + * @param _required Number of required confirmations. */ async callAsync( - transactionId: BigNumber, + _required: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isBigNumber('transactionId', transactionId); + assert.isBigNumber('_required', _required); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -506,7 +492,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -526,7 +512,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); + const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -536,15 +522,13 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transactionId Transaction ID. + * @param _required Number of required confirmations. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(transactionId: BigNumber): string { - assert.isBigNumber('transactionId', transactionId); + getABIEncodedTransactionData(_required: BigNumber): string { + assert.isBigNumber('_required', _required); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [ - transactionId, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); return abiEncodedTransactionData; }, /** @@ -554,7 +538,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); + const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; @@ -566,7 +550,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); + const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -576,116 +560,121 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); + const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); return abiEncoder.getSelector(); }, }; - public isOwner = { + /** + * Changes the duration of the time lock for transactions. + */ + public changeTimeLock = { /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _secondsTimeLocked Duration needed after a transaction is confirmed + * and before it becomes executable, in seconds. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - async callAsync( - index_0: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('index_0', index_0); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + async sendTransactionAsync( + _secondsTimeLocked: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(index_0: string): string { - assert.isString('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); - return abiEncodedTransactionData; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param _secondsTimeLocked Duration needed after a transaction is confirmed + * and before it becomes executable, in seconds. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ - getABIDecodedTransactionData(callData: string): string { + awaitTransactionSuccessAsync( + _secondsTimeLocked: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; + const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param _secondsTimeLocked Duration needed after a transaction is confirmed + * and before it becomes executable, in seconds. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - getABIDecodedReturnData(returnData: string): boolean { + async estimateGasAsync(_secondsTimeLocked: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); - return abiEncoder.getSelector(); + async validateAndSendTransactionAsync( + _secondsTimeLocked: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).changeTimeLock.callAsync(_secondsTimeLocked, txData); + const txHash = await (this as any).changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); + return txHash; }, - }; - public confirmations = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param _secondsTimeLocked Duration needed after a transaction is confirmed + * and before it becomes executable, in seconds. */ async callAsync( - index_0: BigNumber, - index_1: string, + _secondsTimeLocked: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('index_0', index_0); - assert.isString('index_1', index_1); + ): Promise { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -695,10 +684,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -718,9 +704,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); + const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -728,15 +714,15 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param _secondsTimeLocked Duration needed after a transaction is confirmed + * and before it becomes executable, in seconds. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(index_0: BigNumber, index_1: string): string { - assert.isBigNumber('index_0', index_0); - assert.isString('index_1', index_1); + getABIEncodedTransactionData(_secondsTimeLocked: BigNumber): string { + assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [ - index_0, - index_1.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [ + _secondsTimeLocked, ]); return abiEncodedTransactionData; }, @@ -745,11 +731,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): BigNumber { + getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); + const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -757,11 +743,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): boolean { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); + const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -769,17 +755,114 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); + const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); return abiEncoder.getSelector(); }, }; - public secondsTimeLocked = { + /** + * Allows an owner to confirm a transaction. + */ + public confirmTransaction = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param transactionId Transaction ID. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + /** + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param transactionId Transaction ID. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful + */ + awaitTransactionSuccessAsync( + transactionId: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + /** + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param transactionId Transaction ID. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).confirmTransaction.callAsync(transactionId, txData); + const txHash = await (this as any).confirmTransaction.sendTransactionAsync(transactionId, txData); + return txHash; + }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param transactionId Transaction ID. */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + transactionId: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -789,7 +872,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('secondsTimeLocked()', []); + const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -809,9 +892,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); + const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -819,11 +902,15 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param transactionId Transaction ID. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('secondsTimeLocked()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, /** @@ -831,11 +918,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); + const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -843,11 +930,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); + const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -855,30 +942,22 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); + const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); return abiEncoder.getSelector(); }, }; - /** - * Returns total number of transactions after filers are applied. - */ - public getTransactionCount = { + public confirmationTimes = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param pending Include pending transactions. - * @param executed Include executed transactions. - * @returns Total number of transactions after filters are applied. */ async callAsync( - pending: boolean, - executed: boolean, + index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isBoolean('pending', pending); - assert.isBoolean('executed', executed); + assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -888,7 +967,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, executed]); + const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -908,7 +987,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -918,18 +997,12 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param pending Include pending transactions. - * @param executed Include executed transactions. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(pending: boolean, executed: boolean): string { - assert.isBoolean('pending', pending); - assert.isBoolean('executed', executed); + getABIEncodedTransactionData(index_0: BigNumber): string { + assert.isBigNumber('index_0', index_0); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [ - pending, - executed, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); return abiEncodedTransactionData; }, /** @@ -937,11 +1010,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): boolean { + getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -951,7 +1024,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -961,25 +1034,129 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); + return abiEncoder.getSelector(); + }, + }; + public confirmations = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + */ + async callAsync( + index_0: BigNumber, + index_1: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('index_0', index_0); + assert.isString('index_1', index_1); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('confirmations(uint256,address)', [ + index_0, + index_1.toLowerCase(), + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(index_0: BigNumber, index_1: string): string { + assert.isBigNumber('index_0', index_0); + assert.isString('index_1', index_1); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('confirmations(uint256,address)', [ + index_0, + index_1.toLowerCase(), + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): BigNumber { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): boolean { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('confirmations(uint256,address)'); return abiEncoder.getSelector(); }, }; /** - * Allows to add a new owner. Transaction has to be sent by wallet. + * Allows anyone to execute a confirmed transaction. + * Transactions *must* encode the values with the signature "bytes[] data, address[] destinations, uint256[] values" + * The `destination` and `value` fields of the transaction in storage are ignored. + * All function calls must be successful or the entire call will revert. */ - public addOwner = { + public executeTransaction = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param owner Address of new owner. + * @param transactionId Transaction ID. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -998,20 +1175,20 @@ export class AssetProxyOwnerContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param owner Address of new owner. + * @param transactionId Transaction ID. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - owner: string, + transactionId: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.addOwner.sendTransactionAsync(owner.toLowerCase(), txData); + const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1026,14 +1203,14 @@ export class AssetProxyOwnerContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param owner Address of new owner. + * @param transactionId Transaction ID. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1049,19 +1226,26 @@ export class AssetProxyOwnerContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { - await (this as any).addOwner.callAsync(owner, txData); - const txHash = await (this as any).addOwner.sendTransactionAsync(owner, txData); + async validateAndSendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).executeTransaction.callAsync(transactionId, txData); + const txHash = await (this as any).executeTransaction.sendTransactionAsync(transactionId, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param owner Address of new owner. + * @param transactionId Transaction ID. */ - async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.isString('owner', owner); + async callAsync( + transactionId: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1071,7 +1255,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1091,7 +1275,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); + const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1101,13 +1285,15 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param owner Address of new owner. + * @param transactionId Transaction ID. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(owner: string): string { - assert.isString('owner', owner); + getABIEncodedTransactionData(transactionId: BigNumber): string { + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('addOwner(address)', [owner.toLowerCase()]); + const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, /** @@ -1115,11 +1301,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); + const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -1129,7 +1315,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); + const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1139,191 +1325,24 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('addOwner(address)'); + const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); return abiEncoder.getSelector(); }, }; - /** - * Registers a custom timelock to a specific function selector / destination combo - */ - public registerFunctionCall = { + public functionCallTimeLocks = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param hasCustomTimeLock True if timelock is custom. - * @param functionSelector 4 byte selector of registered function. - * @param destination Address of destination where function will be called. - * @param newSecondsTimeLocked Duration in seconds needed after a transaction - * is confirmed to become executable. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( - hasCustomTimeLock: boolean, - functionSelector: string, - destination: string, - newSecondsTimeLocked: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); - assert.isString('functionSelector', functionSelector); - assert.isString('destination', destination); - assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerFunctionCall(bool,bytes4,address,uint128)', [ - hasCustomTimeLock, - functionSelector, - destination.toLowerCase(), - newSecondsTimeLocked, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param hasCustomTimeLock True if timelock is custom. - * @param functionSelector 4 byte selector of registered function. - * @param destination Address of destination where function will be called. - * @param newSecondsTimeLocked Duration in seconds needed after a transaction - * is confirmed to become executable. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful - */ - awaitTransactionSuccessAsync( - hasCustomTimeLock: boolean, - functionSelector: string, - destination: string, - newSecondsTimeLocked: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); - assert.isString('functionSelector', functionSelector); - assert.isString('destination', destination); - assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.registerFunctionCall.sendTransactionAsync( - hasCustomTimeLock, - functionSelector, - destination.toLowerCase(), - newSecondsTimeLocked, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); - }, - /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param hasCustomTimeLock True if timelock is custom. - * @param functionSelector 4 byte selector of registered function. - * @param destination Address of destination where function will be called. - * @param newSecondsTimeLocked Duration in seconds needed after a transaction - * is confirmed to become executable. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync( - hasCustomTimeLock: boolean, - functionSelector: string, - destination: string, - newSecondsTimeLocked: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); - assert.isString('functionSelector', functionSelector); - assert.isString('destination', destination); - assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerFunctionCall(bool,bytes4,address,uint128)', [ - hasCustomTimeLock, - functionSelector, - destination.toLowerCase(), - newSecondsTimeLocked, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - hasCustomTimeLock: boolean, - functionSelector: string, - destination: string, - newSecondsTimeLocked: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).registerFunctionCall.callAsync( - hasCustomTimeLock, - functionSelector, - destination, - newSecondsTimeLocked, - txData, - ); - const txHash = await (this as any).registerFunctionCall.sendTransactionAsync( - hasCustomTimeLock, - functionSelector, - destination, - newSecondsTimeLocked, - txData, - ); - return txHash; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param hasCustomTimeLock True if timelock is custom. - * @param functionSelector 4 byte selector of registered function. - * @param destination Address of destination where function will be called. - * @param newSecondsTimeLocked Duration in seconds needed after a transaction - * is confirmed to become executable. + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. */ async callAsync( - hasCustomTimeLock: boolean, - functionSelector: string, - destination: string, - newSecondsTimeLocked: BigNumber, + index_0: string, + index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); - assert.isString('functionSelector', functionSelector); - assert.isString('destination', destination); - assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); + ): Promise<[boolean, BigNumber]> { + assert.isString('index_0', index_0); + assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1333,11 +1352,9 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('registerFunctionCall(bool,bytes4,address,uint128)', [ - hasCustomTimeLock, - functionSelector, - destination.toLowerCase(), - newSecondsTimeLocked, + const encodedData = self._strictEncodeArguments('functionCallTimeLocks(bytes4,address)', [ + index_0, + index_1.toLowerCase(), ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1358,9 +1375,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('registerFunctionCall(bool,bytes4,address,uint128)'); + const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[boolean, BigNumber]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1368,28 +1385,16 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param hasCustomTimeLock True if timelock is custom. - * @param functionSelector 4 byte selector of registered function. - * @param destination Address of destination where function will be called. - * @param newSecondsTimeLocked Duration in seconds needed after a transaction - * is confirmed to become executable. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - hasCustomTimeLock: boolean, - functionSelector: string, - destination: string, - newSecondsTimeLocked: BigNumber, - ): string { - assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); - assert.isString('functionSelector', functionSelector); - assert.isString('destination', destination); - assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); + getABIEncodedTransactionData(index_0: string, index_1: string): string { + assert.isString('index_0', index_0); + assert.isString('index_1', index_1); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'registerFunctionCall(bool,bytes4,address,uint128)', - [hasCustomTimeLock, functionSelector, destination.toLowerCase(), newSecondsTimeLocked], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('functionCallTimeLocks(bytes4,address)', [ + index_0, + index_1.toLowerCase(), + ]); return abiEncodedTransactionData; }, /** @@ -1397,11 +1402,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [boolean, string, string, BigNumber] { + getABIDecodedTransactionData(callData: string): [string, string] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('registerFunctionCall(bool,bytes4,address,uint128)'); + const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[boolean, string, string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string]>(callData); return abiDecodedCallData; }, /** @@ -1409,11 +1414,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): [boolean, BigNumber] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('registerFunctionCall(bool,bytes4,address,uint128)'); + const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[boolean, BigNumber]>(returnData); return abiDecodedReturnData; }, /** @@ -1421,26 +1426,26 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('registerFunctionCall(bool,bytes4,address,uint128)'); + const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); return abiEncoder.getSelector(); }, }; /** - * Returns the confirmation status of a transaction. + * Returns number of confirmations of a transaction. */ - public isConfirmed = { + public getConfirmationCount = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param transactionId Transaction ID. - * @returns Confirmation status. + * @returns Number of confirmations. */ async callAsync( transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1451,7 +1456,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1471,9 +1476,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1487,7 +1492,9 @@ export class AssetProxyOwnerContract extends BaseContract { getABIEncodedTransactionData(transactionId: BigNumber): string { assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [ + transactionId, + ]); return abiEncodedTransactionData; }, /** @@ -1497,7 +1504,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -1507,11 +1514,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): boolean { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1519,121 +1526,27 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); return abiEncoder.getSelector(); }, }; /** - * Changes the duration of the time lock for transactions. + * Returns array with owner addresses, which confirmed transaction. */ - public changeTimeLock = { + public getConfirmations = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( - _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful - */ - awaitTransactionSuccessAsync( - _secondsTimeLocked: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); - }, - /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync(_secondsTimeLocked: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - _secondsTimeLocked: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).changeTimeLock.callAsync(_secondsTimeLocked, txData); - const txHash = await (this as any).changeTimeLock.sendTransactionAsync(_secondsTimeLocked, txData); - return txHash; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param transactionId Transaction ID. + * @returns Returns array of owner addresses. */ async callAsync( - _secondsTimeLocked: BigNumber, + transactionId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + ): Promise { + assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1643,7 +1556,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeTimeLock(uint256)', [_secondsTimeLocked]); + const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1663,9 +1576,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1673,16 +1586,13 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _secondsTimeLocked Duration needed after a transaction is confirmed - * and before it becomes executable, in seconds. + * @param transactionId Transaction ID. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_secondsTimeLocked: BigNumber): string { - assert.isBigNumber('_secondsTimeLocked', _secondsTimeLocked); + getABIEncodedTransactionData(transactionId: BigNumber): string { + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeTimeLock(uint256)', [ - _secondsTimeLocked, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); return abiEncodedTransactionData; }, /** @@ -1690,11 +1600,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [BigNumber] { + getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1702,11 +1612,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): string[] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1714,24 +1624,21 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('changeTimeLock(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); return abiEncoder.getSelector(); }, }; - public functionCallTimeLocks = { + /** + * Returns list of owners. + */ + public getOwners = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @returns List of owner addresses. */ - async callAsync( - index_0: string, - index_1: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[boolean, BigNumber]> { - assert.isString('index_0', index_0); - assert.isString('index_1', index_1); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1741,10 +1648,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('functionCallTimeLocks(bytes4,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const encodedData = self._strictEncodeArguments('getOwners()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1764,9 +1668,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); + const abiEncoder = self._lookupAbiEncoder('getOwners()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[boolean, BigNumber]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1776,14 +1680,9 @@ export class AssetProxyOwnerContract extends BaseContract { * to create a 0x transaction (see protocol spec for more details). * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(index_0: string, index_1: string): string { - assert.isString('index_0', index_0); - assert.isString('index_1', index_1); + getABIEncodedTransactionData(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('functionCallTimeLocks(bytes4,address)', [ - index_0, - index_1.toLowerCase(), - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('getOwners()', []); return abiEncodedTransactionData; }, /** @@ -1791,11 +1690,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, string] { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); + const abiEncoder = self._lookupAbiEncoder('getOwners()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1803,11 +1702,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [boolean, BigNumber] { + getABIDecodedReturnData(returnData: string): string[] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); + const abiEncoder = self._lookupAbiEncoder('getOwners()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[boolean, BigNumber]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1815,27 +1714,30 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('functionCallTimeLocks(bytes4,address)'); + const abiEncoder = self._lookupAbiEncoder('getOwners()'); return abiEncoder.getSelector(); }, }; /** - * Returns number of confirmations of a transaction. + * Returns total number of transactions after filers are applied. */ - public getConfirmationCount = { + public getTransactionCount = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transactionId Transaction ID. - * @returns Number of confirmations. + * @param pending Include pending transactions. + * @param executed Include executed transactions. + * @returns Total number of transactions after filters are applied. */ async callAsync( - transactionId: BigNumber, + pending: boolean, + executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isBigNumber('transactionId', transactionId); + assert.isBoolean('pending', pending); + assert.isBoolean('executed', executed); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1845,7 +1747,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmationCount(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [pending, executed]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1865,7 +1767,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1875,14 +1777,17 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transactionId Transaction ID. + * @param pending Include pending transactions. + * @param executed Include executed transactions. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(transactionId: BigNumber): string { - assert.isBigNumber('transactionId', transactionId); + getABIEncodedTransactionData(pending: boolean, executed: boolean): string { + assert.isBoolean('pending', pending); + assert.isBoolean('executed', executed); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmationCount(uint256)', [ - transactionId, + const abiEncodedTransactionData = self._strictEncodeArguments('getTransactionCount(bool,bool)', [ + pending, + executed, ]); return abiEncodedTransactionData; }, @@ -1891,11 +1796,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): BigNumber { + getABIDecodedTransactionData(callData: string): boolean { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1905,7 +1810,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1915,22 +1820,36 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getConfirmationCount(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getTransactionCount(bool,bool)'); return abiEncoder.getSelector(); }, }; - public transactions = { + /** + * Returns list of transaction IDs in defined range. + */ + public getTransactionIds = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param from Index start position of transaction array. + * @param to Index end position of transaction array. + * @param pending Include pending transactions. + * @param executed Include executed transactions. + * @returns Returns array of transaction IDs. */ async callAsync( - index_0: BigNumber, + from: BigNumber, + to: BigNumber, + pending: boolean, + executed: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, BigNumber, string, boolean]> { - assert.isBigNumber('index_0', index_0); + ): Promise { + assert.isBigNumber('from', from); + assert.isBigNumber('to', to); + assert.isBoolean('pending', pending); + assert.isBoolean('executed', executed); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1940,7 +1859,12 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0]); + const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [ + from, + to, + pending, + executed, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1960,9 +1884,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1970,12 +1894,22 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param from Index start position of transaction array. + * @param to Index end position of transaction array. + * @param pending Include pending transactions. + * @param executed Include executed transactions. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(index_0: BigNumber): string { - assert.isBigNumber('index_0', index_0); - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0]); + getABIEncodedTransactionData(from: BigNumber, to: BigNumber, pending: boolean, executed: boolean): string { + assert.isBigNumber('from', from); + assert.isBigNumber('to', to); + assert.isBoolean('pending', pending); + assert.isBoolean('executed', executed); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getTransactionIds(uint256,uint256,bool,bool)', + [from, to, pending, executed], + ); return abiEncodedTransactionData; }, /** @@ -1983,11 +1917,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [BigNumber] { + getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1995,13 +1929,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, BigNumber, string, boolean] { + getABIDecodedReturnData(returnData: string): BigNumber[] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>( - returnData, - ); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2009,21 +1941,27 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); + const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); return abiEncoder.getSelector(); }, }; /** - * Returns list of owners. + * Returns the confirmation status of a transaction. */ - public getOwners = { + public isConfirmed = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @returns List of owner addresses. + * @param transactionId Transaction ID. + * @returns Confirmation status. */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + transactionId: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('transactionId', transactionId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2033,7 +1971,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getOwners()', []); + const encodedData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2053,9 +1991,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getOwners()'); + const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2063,11 +2001,13 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param transactionId Transaction ID. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(transactionId: BigNumber): string { + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getOwners()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('isConfirmed(uint256)', [transactionId]); return abiEncodedTransactionData; }, /** @@ -2075,11 +2015,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getOwners()'); + const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -2087,11 +2027,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string[] { + getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getOwners()'); + const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2099,36 +2039,22 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getOwners()'); + const abiEncoder = self._lookupAbiEncoder('isConfirmed(uint256)'); return abiEncoder.getSelector(); }, }; - /** - * Returns list of transaction IDs in defined range. - */ - public getTransactionIds = { + public isOwner = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param from Index start position of transaction array. - * @param to Index end position of transaction array. - * @param pending Include pending transactions. - * @param executed Include executed transactions. - * @returns Returns array of transaction IDs. */ async callAsync( - from: BigNumber, - to: BigNumber, - pending: boolean, - executed: boolean, + index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('from', from); - assert.isBigNumber('to', to); - assert.isBoolean('pending', pending); - assert.isBoolean('executed', executed); + ): Promise { + assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2138,12 +2064,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getTransactionIds(uint256,uint256,bool,bool)', [ - from, - to, - pending, - executed, - ]); + const encodedData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2163,9 +2084,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2173,22 +2094,12 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param from Index start position of transaction array. - * @param to Index end position of transaction array. - * @param pending Include pending transactions. - * @param executed Include executed transactions. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(from: BigNumber, to: BigNumber, pending: boolean, executed: boolean): string { - assert.isBigNumber('from', from); - assert.isBigNumber('to', to); - assert.isBoolean('pending', pending); - assert.isBoolean('executed', executed); + getABIEncodedTransactionData(index_0: string): string { + assert.isString('index_0', index_0); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getTransactionIds(uint256,uint256,bool,bool)', - [from, to, pending, executed], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('isOwner(address)', [index_0.toLowerCase()]); return abiEncodedTransactionData; }, /** @@ -2196,11 +2107,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): BigNumber { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -2208,11 +2119,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber[] { + getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2220,27 +2131,22 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getTransactionIds(uint256,uint256,bool,bool)'); + const abiEncoder = self._lookupAbiEncoder('isOwner(address)'); return abiEncoder.getSelector(); }, }; - /** - * Returns array with owner addresses, which confirmed transaction. - */ - public getConfirmations = { + public owners = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transactionId Transaction ID. - * @returns Returns array of owner addresses. */ async callAsync( - transactionId: BigNumber, + index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('transactionId', transactionId); + ): Promise { + assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2250,7 +2156,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('owners(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2270,9 +2176,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); + const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2280,13 +2186,12 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transactionId Transaction ID. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(transactionId: BigNumber): string { - assert.isBigNumber('transactionId', transactionId); + getABIEncodedTransactionData(index_0: BigNumber): string { + assert.isBigNumber('index_0', index_0); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getConfirmations(uint256)', [transactionId]); + const abiEncodedTransactionData = self._strictEncodeArguments('owners(uint256)', [index_0]); return abiEncodedTransactionData; }, /** @@ -2296,7 +2201,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); + const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -2306,11 +2211,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string[] { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); + const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2318,143 +2223,91 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('getConfirmations(uint256)'); + const abiEncoder = self._lookupAbiEncoder('owners(uint256)'); return abiEncoder.getSelector(); }, }; - public transactionCount = { + /** + * Registers a custom timelock to a specific function selector / destination combo + */ + public registerFunctionCall = { /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param hasCustomTimeLock True if timelock is custom. + * @param functionSelector 4 byte selector of registered function. + * @param destination Address of destination where function will be called. + * @param newSecondsTimeLocked Duration in seconds needed after a transaction + * is confirmed to become executable. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + async sendTransactionAsync( + hasCustomTimeLock: boolean, + functionSelector: string, + destination: string, + newSecondsTimeLocked: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); + assert.isString('functionSelector', functionSelector); + assert.isString('destination', destination); + assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('transactionCount()', []); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('registerFunctionCall(bool,bytes4,address,uint128)', [ + hasCustomTimeLock, + functionSelector, + destination.toLowerCase(), + newSecondsTimeLocked, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transactionCount()'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactionCount()', []); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): void { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactionCount()'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): BigNumber { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactionCount()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('transactionCount()'); - return abiEncoder.getSelector(); - }, - }; - /** - * Allows to change the number of required confirmations. Transaction has to be sent by wallet. - */ - public changeRequirement = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _required Number of required confirmations. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync(_required: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_required', _required); - const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param _required Number of required confirmations. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param hasCustomTimeLock True if timelock is custom. + * @param functionSelector 4 byte selector of registered function. + * @param destination Address of destination where function will be called. + * @param newSecondsTimeLocked Duration in seconds needed after a transaction + * is confirmed to become executable. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - _required: BigNumber, + hasCustomTimeLock: boolean, + functionSelector: string, + destination: string, + newSecondsTimeLocked: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('_required', _required); + assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); + assert.isString('functionSelector', functionSelector); + assert.isString('destination', destination); + assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.changeRequirement.sendTransactionAsync(_required, txData); + const txHashPromise = self.registerFunctionCall.sendTransactionAsync( + hasCustomTimeLock, + functionSelector, + destination.toLowerCase(), + newSecondsTimeLocked, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -2469,14 +2322,32 @@ export class AssetProxyOwnerContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _required Number of required confirmations. + * @param hasCustomTimeLock True if timelock is custom. + * @param functionSelector 4 byte selector of registered function. + * @param destination Address of destination where function will be called. + * @param newSecondsTimeLocked Duration in seconds needed after a transaction + * is confirmed to become executable. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(_required: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_required', _required); + async estimateGasAsync( + hasCustomTimeLock: boolean, + functionSelector: string, + destination: string, + newSecondsTimeLocked: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); + assert.isString('functionSelector', functionSelector); + assert.isString('destination', destination); + assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const encodedData = self._strictEncodeArguments('registerFunctionCall(bool,bytes4,address,uint128)', [ + hasCustomTimeLock, + functionSelector, + destination.toLowerCase(), + newSecondsTimeLocked, + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2493,25 +2364,50 @@ export class AssetProxyOwnerContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - _required: BigNumber, + hasCustomTimeLock: boolean, + functionSelector: string, + destination: string, + newSecondsTimeLocked: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).changeRequirement.callAsync(_required, txData); - const txHash = await (this as any).changeRequirement.sendTransactionAsync(_required, txData); + await (this as any).registerFunctionCall.callAsync( + hasCustomTimeLock, + functionSelector, + destination, + newSecondsTimeLocked, + txData, + ); + const txHash = await (this as any).registerFunctionCall.sendTransactionAsync( + hasCustomTimeLock, + functionSelector, + destination, + newSecondsTimeLocked, + txData, + ); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _required Number of required confirmations. + * @param hasCustomTimeLock True if timelock is custom. + * @param functionSelector 4 byte selector of registered function. + * @param destination Address of destination where function will be called. + * @param newSecondsTimeLocked Duration in seconds needed after a transaction + * is confirmed to become executable. */ async callAsync( - _required: BigNumber, + hasCustomTimeLock: boolean, + functionSelector: string, + destination: string, + newSecondsTimeLocked: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isBigNumber('_required', _required); + assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); + assert.isString('functionSelector', functionSelector); + assert.isString('destination', destination); + assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2521,7 +2417,12 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const encodedData = self._strictEncodeArguments('registerFunctionCall(bool,bytes4,address,uint128)', [ + hasCustomTimeLock, + functionSelector, + destination.toLowerCase(), + newSecondsTimeLocked, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2541,7 +2442,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); + const abiEncoder = self._lookupAbiEncoder('registerFunctionCall(bool,bytes4,address,uint128)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -2551,13 +2452,28 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _required Number of required confirmations. + * @param hasCustomTimeLock True if timelock is custom. + * @param functionSelector 4 byte selector of registered function. + * @param destination Address of destination where function will be called. + * @param newSecondsTimeLocked Duration in seconds needed after a transaction + * is confirmed to become executable. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_required: BigNumber): string { - assert.isBigNumber('_required', _required); + getABIEncodedTransactionData( + hasCustomTimeLock: boolean, + functionSelector: string, + destination: string, + newSecondsTimeLocked: BigNumber, + ): string { + assert.isBoolean('hasCustomTimeLock', hasCustomTimeLock); + assert.isString('functionSelector', functionSelector); + assert.isString('destination', destination); + assert.isBigNumber('newSecondsTimeLocked', newSecondsTimeLocked); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('changeRequirement(uint256)', [_required]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'registerFunctionCall(bool,bytes4,address,uint128)', + [hasCustomTimeLock, functionSelector, destination.toLowerCase(), newSecondsTimeLocked], + ); return abiEncodedTransactionData; }, /** @@ -2565,11 +2481,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [BigNumber] { + getABIDecodedTransactionData(callData: string): [boolean, string, string, BigNumber] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); + const abiEncoder = self._lookupAbiEncoder('registerFunctionCall(bool,bytes4,address,uint128)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[boolean, string, string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -2579,7 +2495,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); + const abiEncoder = self._lookupAbiEncoder('registerFunctionCall(bool,bytes4,address,uint128)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -2589,25 +2505,25 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('changeRequirement(uint256)'); + const abiEncoder = self._lookupAbiEncoder('registerFunctionCall(bool,bytes4,address,uint128)'); return abiEncoder.getSelector(); }, }; /** - * Allows an owner to confirm a transaction. + * Allows to remove an owner. Transaction has to be sent by wallet. */ - public confirmTransaction = { + public removeOwner = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param transactionId Transaction ID. + * @param owner Address of owner. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); + async sendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2626,20 +2542,20 @@ export class AssetProxyOwnerContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param transactionId Transaction ID. + * @param owner Address of owner. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - transactionId: BigNumber, + owner: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); + assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.confirmTransaction.sendTransactionAsync(transactionId, txData); + const txHashPromise = self.removeOwner.sendTransactionAsync(owner.toLowerCase(), txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -2654,14 +2570,14 @@ export class AssetProxyOwnerContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param transactionId Transaction ID. + * @param owner Address of owner. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); + async estimateGasAsync(owner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2677,26 +2593,19 @@ export class AssetProxyOwnerContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).confirmTransaction.callAsync(transactionId, txData); - const txHash = await (this as any).confirmTransaction.sendTransactionAsync(transactionId, txData); + async validateAndSendTransactionAsync(owner: string, txData?: Partial | undefined): Promise { + await (this as any).removeOwner.callAsync(owner, txData); + const txHash = await (this as any).removeOwner.sendTransactionAsync(owner, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transactionId Transaction ID. + * @param owner Address of owner. */ - async callAsync( - transactionId: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('transactionId', transactionId); + async callAsync(owner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.isString('owner', owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2706,7 +2615,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmTransaction(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('removeOwner(address)', [owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2726,7 +2635,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -2736,14 +2645,14 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transactionId Transaction ID. + * @param owner Address of owner. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(transactionId: BigNumber): string { - assert.isBigNumber('transactionId', transactionId); + getABIEncodedTransactionData(owner: string): string { + assert.isString('owner', owner); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmTransaction(uint256)', [ - transactionId, + const abiEncodedTransactionData = self._strictEncodeArguments('removeOwner(address)', [ + owner.toLowerCase(), ]); return abiEncodedTransactionData; }, @@ -2752,11 +2661,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [BigNumber] { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -2766,7 +2675,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -2776,37 +2685,33 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeOwner(address)'); return abiEncoder.getSelector(); }, }; /** - * Allows an owner to submit and confirm a transaction. + * Allows to replace an owner with a new owner. Transaction has to be sent by wallet. */ - public submitTransaction = { + public replaceOwner = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param destination Transaction target address. - * @param value Transaction ether value. - * @param data Transaction data payload. + * @param owner Address of owner to be replaced. + * @param newOwner Address of new owner. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - destination: string, - value: BigNumber, - data: string, + owner: string, + newOwner: string, txData?: Partial | undefined, ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2826,29 +2731,25 @@ export class AssetProxyOwnerContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param destination Transaction target address. - * @param value Transaction ether value. - * @param data Transaction data payload. + * @param owner Address of owner to be replaced. + * @param newOwner Address of new owner. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - destination: string, - value: BigNumber, - data: string, + owner: string, + newOwner: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.submitTransaction.sendTransactionAsync( - destination.toLowerCase(), - value, - data, + const txHashPromise = self.replaceOwner.sendTransactionAsync( + owner.toLowerCase(), + newOwner.toLowerCase(), txData, ); return new PromiseWithTransactionHash( @@ -2865,26 +2766,18 @@ export class AssetProxyOwnerContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param destination Transaction target address. - * @param value Transaction ether value. - * @param data Transaction data payload. + * @param owner Address of owner to be replaced. + * @param newOwner Address of new owner. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync( - destination: string, - value: BigNumber, - data: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); + async estimateGasAsync(owner: string, newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2902,34 +2795,29 @@ export class AssetProxyOwnerContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - destination: string, - value: BigNumber, - data: string, + owner: string, + newOwner: string, txData?: Partial | undefined, ): Promise { - await (this as any).submitTransaction.callAsync(destination, value, data, txData); - const txHash = await (this as any).submitTransaction.sendTransactionAsync(destination, value, data, txData); + await (this as any).replaceOwner.callAsync(owner, newOwner, txData); + const txHash = await (this as any).replaceOwner.sendTransactionAsync(owner, newOwner, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param destination Transaction target address. - * @param value Transaction ether value. - * @param data Transaction data payload. - * @returns Returns transaction ID. + * @param owner Address of owner to be replaced. + * @param newOwner Address of new owner. */ async callAsync( - destination: string, - value: BigNumber, - data: string, + owner: string, + newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); + ): Promise { + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2939,10 +2827,9 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, + const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2963,9 +2850,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2973,20 +2860,17 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param destination Transaction target address. - * @param value Transaction ether value. - * @param data Transaction data payload. + * @param owner Address of owner to be replaced. + * @param newOwner Address of new owner. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(destination: string, value: BigNumber, data: string): string { - assert.isString('destination', destination); - assert.isBigNumber('value', value); - assert.isString('data', data); + getABIEncodedTransactionData(owner: string, newOwner: string): string { + assert.isString('owner', owner); + assert.isString('newOwner', newOwner); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ - destination.toLowerCase(), - value, - data, + const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [ + owner.toLowerCase(), + newOwner.toLowerCase(), ]); return abiEncodedTransactionData; }, @@ -2995,11 +2879,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): [string, string] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string]>(callData); return abiDecodedCallData; }, /** @@ -3007,11 +2891,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -3019,22 +2903,17 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); return abiEncoder.getSelector(); }, }; - public confirmationTimes = { + public required = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. */ - async callAsync( - index_0: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('index_0', index_0); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3044,7 +2923,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); + const encodedData = self._strictEncodeArguments('required()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3064,7 +2943,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); + const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -3076,10 +2955,9 @@ export class AssetProxyOwnerContract extends BaseContract { * to create a 0x transaction (see protocol spec for more details). * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(index_0: BigNumber): string { - assert.isBigNumber('index_0', index_0); + getABIEncodedTransactionData(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('confirmationTimes(uint256)', [index_0]); + const abiEncodedTransactionData = self._strictEncodeArguments('required()', []); return abiEncodedTransactionData; }, /** @@ -3087,11 +2965,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): BigNumber { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); + const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -3101,7 +2979,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); + const abiEncoder = self._lookupAbiEncoder('required()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -3111,73 +2989,174 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('confirmationTimes(uint256)'); + const abiEncoder = self._lookupAbiEncoder('required()'); return abiEncoder.getSelector(); }, }; - public MAX_OWNER_COUNT = { + /** + * Allows an owner to revoke a confirmation for a transaction. + */ + public revokeConfirmation = { /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param transactionId Transaction ID. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(): string { - const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('MAX_OWNER_COUNT()', []); - return abiEncodedTransactionData; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param transactionId Transaction ID. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ - getABIDecodedTransactionData(callData: string): void { + awaitTransactionSuccessAsync( + transactionId: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isBigNumber('transactionId', transactionId); const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); + const txHashPromise = self.revokeConfirmation.sendTransactionAsync(transactionId, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + /** + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param transactionId Transaction ID. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + transactionId: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).revokeConfirmation.callAsync(transactionId, txData); + const txHash = await (this as any).revokeConfirmation.sendTransactionAsync(transactionId, txData); + return txHash; + }, + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param transactionId Transaction ID. + */ + async callAsync( + transactionId: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('transactionId', transactionId); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as AssetProxyOwnerContract; + const encodedData = self._strictEncodeArguments('revokeConfirmation(uint256)', [transactionId]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param transactionId Transaction ID. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(transactionId: BigNumber): string { + assert.isBigNumber('transactionId', transactionId); + const self = (this as any) as AssetProxyOwnerContract; + const abiEncodedTransactionData = self._strictEncodeArguments('revokeConfirmation(uint256)', [ + transactionId, + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): [BigNumber] { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -3185,11 +3164,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); + const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -3197,11 +3176,11 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('MAX_OWNER_COUNT()'); + const abiEncoder = self._lookupAbiEncoder('revokeConfirmation(uint256)'); return abiEncoder.getSelector(); }, }; - public required = { + public secondsTimeLocked = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -3217,7 +3196,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('required()', []); + const encodedData = self._strictEncodeArguments('secondsTimeLocked()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3237,7 +3216,7 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('required()'); + const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -3251,7 +3230,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('required()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('secondsTimeLocked()', []); return abiEncodedTransactionData; }, /** @@ -3261,7 +3240,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('required()'); + const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -3273,7 +3252,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('required()'); + const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -3283,33 +3262,37 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('required()'); + const abiEncoder = self._lookupAbiEncoder('secondsTimeLocked()'); return abiEncoder.getSelector(); }, }; /** - * Allows to replace an owner with a new owner. Transaction has to be sent by wallet. + * Allows an owner to submit and confirm a transaction. */ - public replaceOwner = { + public submitTransaction = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param owner Address of owner to be replaced. - * @param newOwner Address of new owner. + * @param destination Transaction target address. + * @param value Transaction ether value. + * @param data Transaction data payload. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - owner: string, - newOwner: string, + destination: string, + value: BigNumber, + data: string, txData?: Partial | undefined, ): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3329,25 +3312,29 @@ export class AssetProxyOwnerContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param owner Address of owner to be replaced. - * @param newOwner Address of new owner. + * @param destination Transaction target address. + * @param value Transaction ether value. + * @param data Transaction data payload. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - owner: string, - newOwner: string, + destination: string, + value: BigNumber, + data: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.replaceOwner.sendTransactionAsync( - owner.toLowerCase(), - newOwner.toLowerCase(), + const txHashPromise = self.submitTransaction.sendTransactionAsync( + destination.toLowerCase(), + value, + data, txData, ); return new PromiseWithTransactionHash( @@ -3364,18 +3351,26 @@ export class AssetProxyOwnerContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param owner Address of owner to be replaced. - * @param newOwner Address of new owner. + * @param destination Transaction target address. + * @param value Transaction ether value. + * @param data Transaction data payload. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(owner: string, newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); + async estimateGasAsync( + destination: string, + value: BigNumber, + data: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3393,29 +3388,34 @@ export class AssetProxyOwnerContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - owner: string, - newOwner: string, + destination: string, + value: BigNumber, + data: string, txData?: Partial | undefined, ): Promise { - await (this as any).replaceOwner.callAsync(owner, newOwner, txData); - const txHash = await (this as any).replaceOwner.sendTransactionAsync(owner, newOwner, txData); + await (this as any).submitTransaction.callAsync(destination, value, data, txData); + const txHash = await (this as any).submitTransaction.sendTransactionAsync(destination, value, data, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param owner Address of owner to be replaced. - * @param newOwner Address of new owner. + * @param destination Transaction target address. + * @param value Transaction ether value. + * @param data Transaction data payload. + * @returns Returns transaction ID. */ async callAsync( - owner: string, - newOwner: string, + destination: string, + value: BigNumber, + data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); + ): Promise { + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3425,9 +3425,10 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), + const encodedData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -3448,9 +3449,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); + const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -3458,17 +3459,20 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param owner Address of owner to be replaced. - * @param newOwner Address of new owner. + * @param destination Transaction target address. + * @param value Transaction ether value. + * @param data Transaction data payload. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(owner: string, newOwner: string): string { - assert.isString('owner', owner); - assert.isString('newOwner', newOwner); + getABIEncodedTransactionData(destination: string, value: BigNumber, data: string): string { + assert.isString('destination', destination); + assert.isBigNumber('value', value); + assert.isString('data', data); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('replaceOwner(address,address)', [ - owner.toLowerCase(), - newOwner.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('submitTransaction(address,uint256,bytes)', [ + destination.toLowerCase(), + value, + data, ]); return abiEncodedTransactionData; }, @@ -3477,11 +3481,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, string] { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); + const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -3489,11 +3493,11 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); + const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -3501,117 +3505,108 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('replaceOwner(address,address)'); + const abiEncoder = self._lookupAbiEncoder('submitTransaction(address,uint256,bytes)'); return abiEncoder.getSelector(); }, }; - /** - * Allows anyone to execute a confirmed transaction. - * Transactions *must* encode the values with the signature "bytes[] data, address[] destinations, uint256[] values" - * The `destination` and `value` fields of the transaction in storage are ignored. - * All function calls must be successful or the entire call will revert. - */ - public executeTransaction = { + public transactionCount = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param transactionId Transaction ID. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. */ - async sendTransactionAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('transactionCount()', []); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('transactionCount()'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; }, /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param transactionId Transaction ID. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string */ - awaitTransactionSuccessAsync( - transactionId: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isBigNumber('transactionId', transactionId); + getABIEncodedTransactionData(): string { const self = (this as any) as AssetProxyOwnerContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(transactionId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const abiEncodedTransactionData = self._strictEncodeArguments('transactionCount()', []); + return abiEncodedTransactionData; }, /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param transactionId Transaction ID. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - async estimateGasAsync(transactionId: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('transactionId', transactionId); + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + const abiEncoder = self._lookupAbiEncoder('transactionCount()'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; }, - async validateAndSendTransactionAsync( - transactionId: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).executeTransaction.callAsync(transactionId, txData); - const txHash = await (this as any).executeTransaction.sendTransactionAsync(transactionId, txData); - return txHash; + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): BigNumber { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('transactionCount()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as AssetProxyOwnerContract; + const abiEncoder = self._lookupAbiEncoder('transactionCount()'); + return abiEncoder.getSelector(); }, + }; + public transactions = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transactionId Transaction ID. */ async callAsync( - transactionId: BigNumber, + index_0: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('transactionId', transactionId); + ): Promise<[string, BigNumber, string, boolean]> { + assert.isBigNumber('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3621,7 +3616,7 @@ export class AssetProxyOwnerContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as AssetProxyOwnerContract; - const encodedData = self._strictEncodeArguments('executeTransaction(uint256)', [transactionId]); + const encodedData = self._strictEncodeArguments('transactions(uint256)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3641,9 +3636,9 @@ export class AssetProxyOwnerContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -3651,15 +3646,12 @@ export class AssetProxyOwnerContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transactionId Transaction ID. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(transactionId: BigNumber): string { - assert.isBigNumber('transactionId', transactionId); + getABIEncodedTransactionData(index_0: BigNumber): string { + assert.isBigNumber('index_0', index_0); const self = (this as any) as AssetProxyOwnerContract; - const abiEncodedTransactionData = self._strictEncodeArguments('executeTransaction(uint256)', [ - transactionId, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('transactions(uint256)', [index_0]); return abiEncodedTransactionData; }, /** @@ -3669,7 +3661,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; @@ -3679,11 +3671,13 @@ export class AssetProxyOwnerContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): [string, BigNumber, string, boolean] { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, BigNumber, string, boolean]>( + returnData, + ); return abiDecodedReturnData; }, /** @@ -3691,7 +3685,7 @@ export class AssetProxyOwnerContract extends BaseContract { */ getSelector(): string { const self = (this as any) as AssetProxyOwnerContract; - const abiEncoder = self._lookupAbiEncoder('executeTransaction(uint256)'); + const abiEncoder = self._lookupAbiEncoder('transactions(uint256)'); return abiEncoder.getSelector(); }, }; @@ -3822,124 +3816,242 @@ export class AssetProxyOwnerContract extends BaseContract { public static ABI(): ContractAbi { const abi = [ { - constant: true, inputs: [ { - name: 'index_0', + name: '_functionSelectors', + type: 'bytes4[]', + }, + { + name: '_destinations', + type: 'address[]', + }, + { + name: '_functionCallTimeLockSeconds', + type: 'uint128[]', + }, + { + name: '_owners', + type: 'address[]', + }, + { + name: '_required', type: 'uint256', }, - ], - name: 'owners', - outputs: [ { - name: '', - type: 'address', + name: '_defaultSecondsTimeLocked', + type: 'uint256', }, ], + outputs: [], payable: false, - stateMutability: 'view', - type: 'function', + stateMutability: 'nonpayable', + type: 'constructor', }, { - constant: false, + anonymous: false, inputs: [ { - name: 'owner', + name: 'sender', type: 'address', + indexed: true, + }, + { + name: 'transactionId', + type: 'uint256', + indexed: true, }, ], - name: 'removeOwner', + name: 'Confirmation', outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', + type: 'event', }, { - constant: false, + anonymous: false, inputs: [ { name: 'transactionId', type: 'uint256', + indexed: true, }, - ], - name: 'revokeConfirmation', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', + { + name: 'confirmationTime', + type: 'uint256', + indexed: false, + }, + ], + name: 'ConfirmationTimeSet', + outputs: [], + type: 'event', }, { - constant: true, + anonymous: false, inputs: [ { - name: 'index_0', + name: 'sender', type: 'address', + indexed: true, + }, + { + name: 'value', + type: 'uint256', + indexed: false, }, ], - name: 'isOwner', - outputs: [ + name: 'Deposit', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ { - name: '', - type: 'bool', + name: 'transactionId', + type: 'uint256', + indexed: true, }, ], - payable: false, - stateMutability: 'view', - type: 'function', + name: 'Execution', + outputs: [], + type: 'event', }, { - constant: true, + anonymous: false, inputs: [ { - name: 'index_0', + name: 'transactionId', type: 'uint256', + indexed: true, + }, + ], + name: 'ExecutionFailure', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'functionSelector', + type: 'bytes4', + indexed: false, }, { - name: 'index_1', + name: 'destination', type: 'address', + indexed: false, }, - ], - name: 'confirmations', - outputs: [ { - name: '', + name: 'hasCustomTimeLock', type: 'bool', + indexed: false, + }, + { + name: 'newSecondsTimeLocked', + type: 'uint128', + indexed: false, }, ], - payable: false, - stateMutability: 'view', - type: 'function', + name: 'FunctionCallTimeLockRegistration', + outputs: [], + type: 'event', }, { - constant: true, - inputs: [], - name: 'secondsTimeLocked', - outputs: [ + anonymous: false, + inputs: [ { - name: '', + name: 'owner', + type: 'address', + indexed: true, + }, + ], + name: 'OwnerAddition', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'owner', + type: 'address', + indexed: true, + }, + ], + name: 'OwnerRemoval', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'required', type: 'uint256', + indexed: false, }, ], - payable: false, - stateMutability: 'view', - type: 'function', + name: 'RequirementChange', + outputs: [], + type: 'event', }, { - constant: true, + anonymous: false, inputs: [ { - name: 'pending', - type: 'bool', + name: 'sender', + type: 'address', + indexed: true, }, { - name: 'executed', - type: 'bool', + name: 'transactionId', + type: 'uint256', + indexed: true, }, ], - name: 'getTransactionCount', + name: 'Revocation', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'transactionId', + type: 'uint256', + indexed: true, + }, + ], + name: 'Submission', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'secondsTimeLocked', + type: 'uint256', + indexed: false, + }, + ], + name: 'TimeLockChange', + outputs: [], + type: 'event', + }, + { + inputs: [], + outputs: [], + payable: true, + stateMutability: 'payable', + type: 'fallback', + }, + { + constant: true, + inputs: [], + name: 'MAX_OWNER_COUNT', outputs: [ { - name: 'count', + name: '', type: 'uint256', }, ], @@ -3965,23 +4077,39 @@ export class AssetProxyOwnerContract extends BaseContract { constant: false, inputs: [ { - name: 'hasCustomTimeLock', - type: 'bool', - }, - { - name: 'functionSelector', - type: 'bytes4', + name: '_required', + type: 'uint256', }, + ], + name: 'changeRequirement', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ { - name: 'destination', - type: 'address', + name: '_secondsTimeLocked', + type: 'uint256', }, + ], + name: 'changeTimeLock', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ { - name: 'newSecondsTimeLocked', - type: 'uint128', + name: 'transactionId', + type: 'uint256', }, ], - name: 'registerFunctionCall', + name: 'confirmTransaction', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -3991,11 +4119,34 @@ export class AssetProxyOwnerContract extends BaseContract { constant: true, inputs: [ { - name: 'transactionId', + name: 'index_0', type: 'uint256', }, ], - name: 'isConfirmed', + name: 'confirmationTimes', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'index_0', + type: 'uint256', + }, + { + name: 'index_1', + type: 'address', + }, + ], + name: 'confirmations', outputs: [ { name: '', @@ -4010,11 +4161,11 @@ export class AssetProxyOwnerContract extends BaseContract { constant: false, inputs: [ { - name: '_secondsTimeLocked', + name: 'transactionId', type: 'uint256', }, ], - name: 'changeTimeLock', + name: 'executeTransaction', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -4070,27 +4221,15 @@ export class AssetProxyOwnerContract extends BaseContract { constant: true, inputs: [ { - name: 'index_0', + name: 'transactionId', type: 'uint256', }, ], - name: 'transactions', + name: 'getConfirmations', outputs: [ { - name: 'destination', - type: 'address', - }, - { - name: 'value', - type: 'uint256', - }, - { - name: 'data', - type: 'bytes', - }, - { - name: 'executed', - type: 'bool', + name: '_confirmations', + type: 'address[]', }, ], payable: false, @@ -4114,14 +4253,6 @@ export class AssetProxyOwnerContract extends BaseContract { { constant: true, inputs: [ - { - name: 'from', - type: 'uint256', - }, - { - name: 'to', - type: 'uint256', - }, { name: 'pending', type: 'bool', @@ -4131,11 +4262,11 @@ export class AssetProxyOwnerContract extends BaseContract { type: 'bool', }, ], - name: 'getTransactionIds', + name: 'getTransactionCount', outputs: [ { - name: '_transactionIds', - type: 'uint256[]', + name: 'count', + type: 'uint256', }, ], payable: false, @@ -4146,88 +4277,50 @@ export class AssetProxyOwnerContract extends BaseContract { constant: true, inputs: [ { - name: 'transactionId', + name: 'from', type: 'uint256', }, - ], - name: 'getConfirmations', - outputs: [ { - name: '_confirmations', - type: 'address[]', + name: 'to', + type: 'uint256', }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'transactionCount', - outputs: [ { - name: '', - type: 'uint256', + name: 'pending', + type: 'bool', }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ { - name: '_required', - type: 'uint256', + name: 'executed', + type: 'bool', }, ], - name: 'changeRequirement', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ + name: 'getTransactionIds', + outputs: [ { - name: 'transactionId', - type: 'uint256', + name: '_transactionIds', + type: 'uint256[]', }, ], - name: 'confirmTransaction', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { - constant: false, + constant: true, inputs: [ { - name: 'destination', - type: 'address', - }, - { - name: 'value', + name: 'transactionId', type: 'uint256', }, - { - name: 'data', - type: 'bytes', - }, ], - name: 'submitTransaction', + name: 'isConfirmed', outputs: [ { - name: 'transactionId', - type: 'uint256', + name: '', + type: 'bool', }, ], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { @@ -4235,14 +4328,14 @@ export class AssetProxyOwnerContract extends BaseContract { inputs: [ { name: 'index_0', - type: 'uint256', + type: 'address', }, ], - name: 'confirmationTimes', + name: 'isOwner', outputs: [ { name: '', - type: 'uint256', + type: 'bool', }, ], payable: false, @@ -4251,26 +4344,17 @@ export class AssetProxyOwnerContract extends BaseContract { }, { constant: true, - inputs: [], - name: 'MAX_OWNER_COUNT', - outputs: [ + inputs: [ { - name: '', + name: 'index_0', type: 'uint256', }, ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'required', + name: 'owners', outputs: [ { name: '', - type: 'uint256', + type: 'address', }, ], payable: false, @@ -4281,15 +4365,23 @@ export class AssetProxyOwnerContract extends BaseContract { constant: false, inputs: [ { - name: 'owner', - type: 'address', + name: 'hasCustomTimeLock', + type: 'bool', }, { - name: 'newOwner', + name: 'functionSelector', + type: 'bytes4', + }, + { + name: 'destination', type: 'address', }, + { + name: 'newSecondsTimeLocked', + type: 'uint128', + }, ], - name: 'replaceOwner', + name: 'registerFunctionCall', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -4299,245 +4391,147 @@ export class AssetProxyOwnerContract extends BaseContract { constant: false, inputs: [ { - name: 'transactionId', - type: 'uint256', + name: 'owner', + type: 'address', }, ], - name: 'executeTransaction', + name: 'removeOwner', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, { + constant: false, inputs: [ { - name: '_functionSelectors', - type: 'bytes4[]', - }, - { - name: '_destinations', - type: 'address[]', - }, - { - name: '_functionCallTimeLockSeconds', - type: 'uint128[]', - }, - { - name: '_owners', - type: 'address[]', - }, - { - name: '_required', - type: 'uint256', + name: 'owner', + type: 'address', }, { - name: '_defaultSecondsTimeLocked', - type: 'uint256', + name: 'newOwner', + type: 'address', }, ], + name: 'replaceOwner', outputs: [], payable: false, stateMutability: 'nonpayable', - type: 'constructor', + type: 'function', }, { + constant: true, inputs: [], - outputs: [], - payable: true, - stateMutability: 'payable', - type: 'fallback', - }, - { - anonymous: false, - inputs: [ - { - name: 'functionSelector', - type: 'bytes4', - indexed: false, - }, - { - name: 'destination', - type: 'address', - indexed: false, - }, - { - name: 'hasCustomTimeLock', - type: 'bool', - indexed: false, - }, + name: 'required', + outputs: [ { - name: 'newSecondsTimeLocked', - type: 'uint128', - indexed: false, + name: '', + type: 'uint256', }, ], - name: 'FunctionCallTimeLockRegistration', - outputs: [], - type: 'event', + payable: false, + stateMutability: 'view', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { name: 'transactionId', type: 'uint256', - indexed: true, - }, - { - name: 'confirmationTime', - type: 'uint256', - indexed: false, }, ], - name: 'ConfirmationTimeSet', + name: 'revokeConfirmation', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, - inputs: [ + constant: true, + inputs: [], + name: 'secondsTimeLocked', + outputs: [ { - name: 'secondsTimeLocked', + name: '', type: 'uint256', - indexed: false, }, ], - name: 'TimeLockChange', - outputs: [], - type: 'event', + payable: false, + stateMutability: 'view', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: 'sender', + name: 'destination', type: 'address', - indexed: true, }, { - name: 'transactionId', + name: 'value', type: 'uint256', - indexed: true, - }, - ], - name: 'Confirmation', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'sender', - type: 'address', - indexed: true, }, { - name: 'transactionId', - type: 'uint256', - indexed: true, + name: 'data', + type: 'bytes', }, ], - name: 'Revocation', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ + name: 'submitTransaction', + outputs: [ { name: 'transactionId', type: 'uint256', - indexed: true, }, ], - name: 'Submission', - outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, - inputs: [ + constant: true, + inputs: [], + name: 'transactionCount', + outputs: [ { - name: 'transactionId', + name: '', type: 'uint256', - indexed: true, }, ], - name: 'Execution', - outputs: [], - type: 'event', + payable: false, + stateMutability: 'view', + type: 'function', }, { - anonymous: false, + constant: true, inputs: [ { - name: 'transactionId', + name: 'index_0', type: 'uint256', - indexed: true, }, ], - name: 'ExecutionFailure', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ + name: 'transactions', + outputs: [ { - name: 'sender', + name: 'destination', type: 'address', - indexed: true, }, { name: 'value', type: 'uint256', - indexed: false, }, - ], - name: 'Deposit', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: 'owner', - type: 'address', - indexed: true, - }, - ], - name: 'OwnerAddition', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ { - name: 'owner', - type: 'address', - indexed: true, + name: 'data', + type: 'bytes', }, - ], - name: 'OwnerRemoval', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ { - name: 'required', - type: 'uint256', - indexed: false, + name: 'executed', + type: 'bool', }, ], - name: 'RequirementChange', - outputs: [], - type: 'event', + payable: false, + stateMutability: 'view', + type: 'function', }, ] as ContractAbi; return abi; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts index f0e7c0421c..b792e60e96 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts index ebd54e9e18..56e43bf0ca 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts index 73d3808cc5..710bdf211b 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -29,23 +29,23 @@ import * as ethers from 'ethers'; // tslint:disable-next-line:class-name export class DevUtilsContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f366004614a03565b61069f565b6040516102829291906152ef565b60405180910390f35b61029e610299366004614a03565b6106fb565b60405161028293929190615392565b6102c06102bb366004614572565b6107a9565b60405161028292919061529d565b6102e16102dc366004614a03565b6107cb565b604051610282939291906154cd565b6103036102fe366004614572565b610828565b604051610282919061573d565b61032361031e366004614a03565b610850565b604051610282939291906152c4565b6102c0610340366004614a03565b610897565b610358610353366004614a03565b6108d9565b60405161028293929190615443565b61037a610375366004614a03565b61092c565b6040516102829493929190615263565b61039d610398366004614a03565b610976565b6040516102829291906154b6565b6103be6103b9366004614496565b6109cc565b60405161028291906151fd565b6103de6103d9366004614363565b610a4f565b60405161028291906153f2565b6103fe6103f9366004614a03565b610ad3565b60405161028293929190614ffa565b61042061041b366004614a03565b610b0d565b6040516102829493929190615540565b61044361043e366004614a03565b61164e565b60405161028292919061530c565b61046461045f366004614a03565b611686565b604051610282929190614fe0565b610303610480366004614572565b6116be565b610443610493366004614a03565b611dd3565b6104ab6104a6366004614a03565b611e63565b60405161028294939291906154fc565b6104ce6104c9366004614a03565b611ec4565b60405161028295949392919061532f565b6103be6104ed3660046145e4565b611f6f565b61050561050036600461464e565b611fe8565b6040516102829190615114565b6103de6105203660046145b8565b6120ac565b610538610533366004614a03565b612133565b6040516102829493929190615070565b6103de6105563660046144e6565b61216f565b61056e610569366004614a03565b6121fc565b604051610282939291906153bd565b61059061058b366004614a03565b6122a9565b6040516102829291906152ab565b6105b16105ac366004614a03565b6122e2565b604051610282929190615533565b6103be6105cd366004614496565b612330565b6103036105e0366004614572565b61239e565b6105f86105f3366004614ac0565b6129e1565b60405161028291906154e8565b6103de6106133660046147f9565b612f7e565b61062b6106263660046146d2565b612fb6565b60405161028293929190615161565b61064d610648366004614496565b6130ee565b60405161028292919061523e565b61066e610669366004614b1a565b613107565b604051610282939291906156e1565b61069061068b366004614a03565b613349565b6040516102829392919061548c565b6000806106b3836106ae613386565b6133aa565b60006106cc60048551866134049092919063ffffffff16565b8060200190516106df91908101906149b3565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61344716565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b60405180910390fd5b61078e84601063ffffffff61347b16565b91506107a184602463ffffffff6134ae16565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134ba565b60006107f560048651876134049092919063ffffffff16565b8060200190516108089190810190614d58565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134de565b925050505b92915050565b6000606080610861846106ae6134f4565b835161087790859060049063ffffffff61340416565b80602001905161088a9190810190614953565b9196909550909350915050565b6000806108a6836106ae613518565b82516108bc90849060049063ffffffff61340416565b8060200190516108cf91908101906148f2565b9094909350915050565b60008060606108ea846106ae61353c565b600061090360048651876134049092919063ffffffff16565b8060200190516109169190810190614d0a565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613560565b845161095490869060049063ffffffff61340416565b80602001905161096791908101906148ac565b92989197509550909350915050565b600080610985836106ae613584565b600061099e60048551866134049092919063ffffffff16565b8060200190516109b19190810190614c39565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fcc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a8565b8351610afa90859060049063ffffffff61340416565b80602001905161088a91908101906143ba565b60608080806000610b24868263ffffffff61344716565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061563c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615605565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135cc16565b80602001905161117f9190810190614619565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c8661364c565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c98565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135cc16565b8060200190516113059190810190614a8b565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c8661367b565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c86613775565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c98565b6114e8613c98565b60608061150260048b518c6135cc9092919063ffffffff16565b8060200190516115159190810190614b74565b604080516002808252606082019092529498509296509094509250816020015b61153d613c98565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e9565b825161167390849060049063ffffffff61340416565b8060200190516108cf91908101906149d8565b600080611695836106ae61380d565b82516116ab90849060049063ffffffff61340416565b8060200190516108cf9190810190614380565b6000806116d1838263ffffffff61344716565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347b16565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fcc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614fb0565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134ae16565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c090849060240161573d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614fb0565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347b16565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a859291906150a4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614fb0565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134ae16565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c3390869060009081908190602401615405565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614fb0565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61344716565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b611e5c83601063ffffffff61347b16565b9050915091565b60008060006060611e76856106ae613831565b6000611e8f60048751886134049092919063ffffffff16565b806020019051611ea29190810190614caa565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61344716565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e490859085906024016150a4565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae613855565b845161215c90869060049063ffffffff61340416565b80602001905161096791908101906143fd565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab90879087908790879060240161501e565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61344716565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b835161228c90859060049063ffffffff6135cc16565b80602001905161229f9190810190614830565b9395909450915050565b600060606122b9836106ae613879565b82516122cf90849060049063ffffffff61340416565b8060200190516108cf9190810190614916565b6000806122f1836106ae61389d565b600061230a60048551866134049092919063ffffffff16565b80602001905161231d9190810190614c39565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61344716565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347b16565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fe0565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fe0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614fb0565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134ae16565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e90879060240161573d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614fb0565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347b16565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fe0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614fb0565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134ae16565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d2b565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614c20565b3a6138c1565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150bd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614fb0565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61344716565b9050612e9061353c565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134f4565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155ce565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615210565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d5a565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d5a565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b990613159908890600401615705565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a38565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb9089908990600401615718565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061488a565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393816565b156132ba576132b3846132ad848d6080015161395d90919063ffffffff16565b85613979565b905061331b565b60006132cb868c6101800151610828565b9050826132e8576132e1858c6080015186613979565b9150613319565b60006132f9868d6080015187613979565b90506000613308838688613979565b905061331482826134de565b935050505b505b61333b6133358960400151856139a390919063ffffffff16565b826134de565b965050505050509250925092565b600080600061335a846106ae6139c2565b600061337360048651876134049092919063ffffffff16565b8060200190516108089190810190614c67565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133b7836000613447565b90506001600160e01b0319808216908316146133ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615673565b505050565b6060818311156134225761342261341d600085856139e6565b613a55565b835182111561343b5761343b61341d60018487516139e6565b50819003910190815290565b600081600401835110156134685761346861341d60038551856004016139e6565b5001602001516001600160e01b03191690565b6000816014018351101561349c5761349c61341d60048551856014016139e6565b5001601401516001600160a01b031690565b60006120a58383613a5d565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134ed57816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135e5576135e561341d600085856139e6565b83518211156135fe576135fe61341d60018487516139e6565b8282036040519080825280601f01601f19166020018201604052801561362b576020820181803883390190505b5090506120a561363a82613a87565b8461364487613a87565b018351613a8d565b606080606061366860048551866135cc9092919063ffffffff16565b80602001905161088a919081019061472c565b60408051600180825281830190925260609182918291816020015b61369e613c98565b8152602001906001900390816136965750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136e7575050845190915061371490859060049063ffffffff6135cc16565b8060200190516137279190810190614bcd565b8560008151811061373457fe5b602002602001018560008151811061374857fe5b602002602001018560008151811061375c57fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137b19186915060049063ffffffff6135cc16565b8060200190516137c491908101906147a6565b845185906000906137d157fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c9613d2b565b6020810184905260a085015160808601516138e5918691613b32565b815260a085015160c08601516138fc918691613b32565b604082015260a085015160e0860151613916918691613b32565b606082015261392b828463ffffffff613b6616565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341d60008686613b93565b600061399b8361398f868563ffffffff613b6616565b9063ffffffff613bb216565b949350505050565b6000828211156139bc576139bc61341d60028585613b93565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b848484604051602401613a05939291906154da565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7e57613a7e61341d60058551856020016139e6565b50016020015190565b60200190565b6020811015613ab7576001816020036101000a0380198351168185511680821786525050506133ff565b82821415613ac4576133ff565b82821115613afe5760208103905080820181840181515b82851015613af6578451865260209586019590940193613adb565b9052506133ff565b60208103905080820181840183515b81861215613b295782518252601f199283019290910190613b0d565b85525050505050565b6000613b3f848484613bdc565b15613b5257613b5261341d858585613c42565b61399b8361398f868563ffffffff613b6616565b600082613b755750600061084a565b82820282848281613b8257fe5b04146120a5576120a561341d600186865b606063e946c1bb60e01b848484604051602401613a059392919061546b565b600081613bc857613bc861341d60038585613b93565b6000828481613bd357fe5b04949350505050565b600082613bee57613bee61341d613c61565b811580613bf9575083155b15613c06575060006120a5565b60008380613c1057fe5b8584099050613c25858463ffffffff613b6616565b613c37826103e863ffffffff613b6616565b101595945050505050565b606063339f3de260e01b848484604051602401613a0593929190615746565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615824565b805161084a81615824565b600082601f830112613da0578081fd5b8135613db3613dae82615783565b61575c565b818152915060208083019084810181840286018201871015613dd457600080fd5b60005b84811015611dc7578135613dea81615824565b84529282019290820190600101613dd7565b600082601f830112613e0c578081fd5b8151613e1a613dae82615783565b8181529150602080830190840160005b83811015613e5757613e42876020845189010161407c565b83526020928301929190910190600101613e2a565b5050505092915050565b600082601f830112613e71578081fd5b8135613e7f613dae82615783565b8181529150602080830190840160005b83811015613e5757613ea7876020843589010161402e565b83526020928301929190910190600101613e8f565b600082601f830112613ecc578081fd5b8151613eda613dae82615783565b8181529150602080830190840160005b83811015613e5757613f028760208451890101614211565b83526020928301929190910190600101613eea565b600082601f830112613f27578081fd5b8135613f35613dae82615783565b8181529150602080830190840160005b83811015613e5757613f5d87602084358901016140c3565b83526020928301929190910190600101613f45565b600082601f830112613f82578081fd5b8151613f90613dae82615783565b818152915060208083019084810181840286018201871015613fb157600080fd5b60005b84811015611dc757815184529282019290820190600101613fb4565b600082601f830112613fe0578081fd5b8135613fee613dae82615783565b81815291506020808301908481018184028601820187101561400f57600080fd5b60005b84811015611dc757813584529282019290820190600101614012565b600082601f83011261403e578081fd5b813561404c613dae826157a4565b915080825283602082850101111561406357600080fd5b8060208401602084013760009082016020015292915050565b600082601f83011261408d57600080fd5b815161409b613dae826157a4565b91508082528360208285010111156140b257600080fd5b611dcc8160208401602086016157c9565b60006101c08083850312156140d6578182fd5b6140df8161575c565b91505060006140ee8484613d7a565b82526140fd8460208501613d7a565b602083015261410f8460408501613d7a565b60408301526141218460608501613d7a565b60608301526080830135608083015260a083013560a083015260c083013560c083015260e083013560e08301526101008084013581840152506101208084013581840152506101408084013567ffffffffffffffff80821115614182578384fd5b61418e8783880161402e565b838601526101609250828601359150808211156141a9578384fd5b6141b58783880161402e565b838601526101809250828601359150808211156141d0578384fd5b6141dc8783880161402e565b838601526101a09250828601359150808211156141f7578384fd5b506142048682870161402e565b8285015250505092915050565b60006101c0808385031215614224578182fd5b61422d8161575c565b915050600061423c8484613d85565b825261424b8460208501613d85565b602083015261425d8460408501613d85565b604083015261426f8460608501613d85565b60608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015167ffffffffffffffff808211156142d0578384fd5b6142dc8783880161407c565b838601526101609250828601519150808211156142f7578384fd5b6143038783880161407c565b8386015261018092508286015191508082111561431e578384fd5b61432a8783880161407c565b838601526101a0925082860151915080821115614345578384fd5b506142048682870161407c565b805160ff8116811461084a57600080fd5b60006020828403121561437557600080fd5b81356120a581615824565b6000806040838503121561439357600080fd5b825161439e81615824565b60208401519092506143af81615824565b809150509250929050565b6000806000606084860312156143cf57600080fd5b83516143da81615824565b60208501519093506143eb81615824565b80925050604084015190509250925092565b60008060008060808587031215614412578182fd5b845161441d81615824565b602086015190945067ffffffffffffffff8082111561443a578384fd5b6144468883890161407c565b9450604087015191508082111561445b578384fd5b6144678883890161407c565b9350606087015191508082111561447d57600080fd5b5061448a8782880161407c565b91505092959194509250565b600080604083850312156144a957600080fd5b82356144b481615824565b9150602083013567ffffffffffffffff8111156144d057600080fd5b6144dc85828601613e61565b9150509250929050565b600080600080608085870312156144fb578182fd5b843561450681615824565b9350602085013567ffffffffffffffff80821115614522578384fd5b61452e88838901613fd0565b94506040870135915080821115614543578384fd5b61454f88838901613fd0565b9350606087013591508082111561456557600080fd5b5061448a8782880161402e565b6000806040838503121561458557600080fd5b823561459081615824565b9150602083013567ffffffffffffffff8111156145ac57600080fd5b6144dc8582860161402e565b600080604083850312156145cb57600080fd5b82356145d681615824565b946020939093013593505050565b6000602082840312156145f657600080fd5b813567ffffffffffffffff81111561460d57600080fd5b61399b84828501613d90565b60006020828403121561462b57600080fd5b815167ffffffffffffffff81111561464257600080fd5b61399b84828501613ebc565b600080600060608486031215614662578081fd5b833567ffffffffffffffff80821115614679578283fd5b61468587838801613f17565b9450602086013591508082111561469a578283fd5b6146a687838801613d90565b935060408601359150808211156146bb578283fd5b506146c886828701613fd0565b9150509250925092565b600080604083850312156146e557600080fd5b823567ffffffffffffffff808211156146fd57600080fd5b61470986838701613f17565b9350602085013591508082111561471f57600080fd5b506144dc85828601613e61565b600080600060608486031215614740578081fd5b835167ffffffffffffffff80821115614757578283fd5b61476387838801613ebc565b94506020860151915080821115614778578283fd5b61478487838801613f72565b93506040860151915080821115614799578283fd5b506146c886828701613dfc565b6000806000606084860312156147ba578081fd5b835167ffffffffffffffff808211156147d1578283fd5b6147dd87838801613ebc565b9450602086015193506040860151915080821115614799578283fd5b6000806040838503121561480c57600080fd5b823567ffffffffffffffff8082111561482457600080fd5b61470986838701613fd0565b6000806040838503121561484357600080fd5b825167ffffffffffffffff8082111561485b57600080fd5b61486786838701613f72565b9350602085015191508082111561487d57600080fd5b506144dc85828601613dfc565b60006020828403121561489c57600080fd5b815180151581146120a557600080fd5b600080600080608085870312156148c257600080fd5b8451935060208501516148d481615824565b604086015190935067ffffffffffffffff8082111561445b57600080fd5b6000806040838503121561490557600080fd5b505080516020909101519092909150565b6000806040838503121561492957600080fd5b82519150602083015167ffffffffffffffff81111561494757600080fd5b6144dc8582860161407c565b600080600060608486031215614967578081fd5b83519250602084015167ffffffffffffffff80821115614985578283fd5b6149918783880161407c565b935060408601519150808211156149a6578283fd5b506146c88682870161407c565b600080604083850312156149c657600080fd5b8251915060208301516143af81615839565b600080604083850312156149eb57600080fd5b82516001600160e01b03198116811461439e57600080fd5b600060208284031215614a1557600080fd5b813567ffffffffffffffff811115614a2c57600080fd5b61399b8482850161402e565b60006060828403128015614a4b57600080fd5b8015614a5657600080fd5b50614a61606061575c565b8251614a6c81615839565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a9d57600080fd5b815167ffffffffffffffff811115614ab457600080fd5b61399b84828501614211565b600080600060608486031215614ad557600080fd5b833567ffffffffffffffff811115614aec57600080fd5b614af8868287016140c3565b9350506020840135614b0981615824565b929592945050506040919091013590565b60008060408385031215614b2d57600080fd5b823567ffffffffffffffff80821115614b4557600080fd5b614b51868387016140c3565b93506020850135915080821115614b6757600080fd5b506144dc8582860161402e565b60008060008060808587031215614b89578182fd5b845167ffffffffffffffff80821115614ba0578384fd5b614bac88838901614211565b95506020870151915080821115614bc1578384fd5b61444688838901614211565b600080600060608486031215614be1578081fd5b835167ffffffffffffffff80821115614bf8578283fd5b614c0487838801614211565b94506020860151935060408601519150808211156149a6578283fd5b600060208284031215614c3257600080fd5b5051919050565b60008060408385031215614c4c57600080fd5b8251614c5781615839565b6020939093015192949293505050565b600080600060608486031215614c7c57600080fd5b8351614c8781615839565b602085015160408601519194509250614c9f81615824565b809150509250925092565b60008060008060808587031215614cc057600080fd5b614cca8686614352565b9350602085015192506040850151614ce181615824565b606086015190925067ffffffffffffffff811115614cfe57600080fd5b61448a8782880161407c565b600080600060608486031215614d1f57600080fd5b614d298585614352565b925060208401519150604084015167ffffffffffffffff811115614d4c57600080fd5b6146c88682870161407c565b600080600060608486031215614d6d57600080fd5b614d778585614352565b925060208401519150604084015190509250925092565b6001600160a01b03169052565b600081518084526020840193506020830160005b82811015614dd65781516001600160a01b0316865260209586019590910190600101614daf565b5093949350505050565b60008151808452602084019350836020820285016020850160005b84811015614e29578383038852614e13838351614e67565b6020988901989093509190910190600101614dfb565b50909695505050505050565b600081518084526020840193506020830160005b82811015614dd6578151865260209586019590910190600101614e49565b60008151808452614e7f8160208601602086016157c9565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ebf848451614d8e565b6020830151614ed16020860182614d8e565b506040830151614ee46040860182614d8e565b506060830151614ef76060860182614d8e565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f5083870182614e67565b91505061016091508184015185820383870152614f6d8282614e67565b925050506101808084015185830382870152614f898382614e67565b9150506101a091508184015185820383870152614fa68282614e67565b9695505050505050565b60008251614fc28184602087016157c9565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150406080830186614e35565b82810360408401526150528186614e35565b83810360608501526150648186614e67565b98975050505050505050565b60006001600160a01b0386168252608060208301526150926080830186614e67565b82810360408401526150528186614e67565b6001600160a01b03929092168252602082015260400190565b6000608082526150d06080830187614de0565b82810360208401526150e28187614d9b565b83810360408501526150f48187614d9b565b91505082810360608401526151098185614e35565b979650505050505050565b602080825282518282018190526000918401906040840190835b818110156151565783516005811061514257fe5b83526020938401939092019160010161512e565b509095945050505050565b606080825284519082018190526000906020906080840190828801845b828110156151a457615191848351614e93565b606093909301929084019060010161517e565b505050838103828501526151b88187614e35565b8481036040860152855180825290830191508286019060005b818110156151ef5782511515845292840192918401916001016151d1565b509198975050505050505050565b6000602082526120a56020830184614e35565b6000604082526152236040830185614e35565b82810360208401526152358185614de0565b95945050505050565b6000604082526152516040830185614e35565b82810360208401526152358185614e35565b60008582526001600160a01b03851660208301526080604083015261528b6080830185614e67565b82810360608401526151098185614e67565b918252602082015260400190565b60008382526040602083015261399b6040830184614e67565b6000848252606060208301526152dd6060830185614e67565b8281036040840152614fa68185614e67565b828152604081016152ff8361581a565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261536160a0830186614e35565b82810360608401526153738186614e35565b83810360808501526153858186614e67565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153e06060830185614e35565b8281036040840152614fa68185614de0565b6000602082526120a56020830184614e67565b6000608082526154186080830187614e67565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b600061544e856157f9565b848252836020830152606060408301526152356060830184614e67565b6060810161547885615806565b938152602081019290925260409091015290565b6060810161549985615810565b93815260208101929092526001600160a01b031660409091015290565b604081016154c384615806565b9281526020015290565b6060810161547885615810565b606081016008851061547857fe5b60208101600583106154f657fe5b91905290565b60006155078661581a565b8582528460208301526001600160a01b038416604083015260806060830152614fa66080830184614e67565b604081016154c3846157f9565b6000608082526155536080830187614e67565b602083820381850152818751808452828401915082838202850101838a0160005b838110156155a257601f19878403018552615590838351614eaf565b94860194925090850190600101615574565b505086810360408801526155b6818a614e35565b94505050505082810360608401526151098185614de0565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156ef8286614e93565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614eaf565b60006040825261572b6040830185614eaf565b82810360208401526152358185614e67565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561577b57600080fd5b604052919050565b600067ffffffffffffffff82111561579a57600080fd5b5060209081020190565b600067ffffffffffffffff8211156157bb57600080fd5b50601f01601f191660200190565b60005b838110156157e45781810151838201526020016157cc565b838111156157f3576000848401525b50505050565b6002811061580357fe5b50565b6004811061580357fe5b6003811061580357fe5b6007811061580357fe5b6001600160a01b038116811461580357600080fd5b60ff8116811461580357600080fdfea365627a7a723158203ec184ccc404ffb9769f18bab87aeb800141e5e5acee03a26f36bff1f78e8b546c6578706572696d656e74616cf564736f6c634300050b0040'; + '0x608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f3660046149dd565b61069f565b6040516102829291906152e4565b60405180910390f35b61029e6102993660046149dd565b6106fb565b60405161028293929190615387565b6102c06102bb366004614565565b6107a9565b604051610282929190615292565b6102e16102dc3660046149dd565b6107cb565b604051610282939291906154c2565b6103036102fe366004614565565b610828565b6040516102829190615731565b61032361031e3660046149dd565b610850565b604051610282939291906152b9565b6102c06103403660046149dd565b610897565b6103586103533660046149dd565b6108d9565b60405161028293929190615438565b61037a6103753660046149dd565b61092c565b6040516102829493929190615258565b61039d6103983660046149dd565b610976565b6040516102829291906154ab565b6103be6103b936600461448c565b6109cc565b60405161028291906151f2565b6103de6103d936600461435d565b610a4f565b60405161028291906153e7565b6103fe6103f93660046149dd565b610ad3565b60405161028293929190614fdf565b61042061041b3660046149dd565b610b0d565b6040516102829493929190615535565b61044361043e3660046149dd565b61164e565b604051610282929190615301565b61046461045f3660046149dd565b611686565b604051610282929190614fc5565b610303610480366004614565565b6116be565b6104436104933660046149dd565b611dd3565b6104ab6104a63660046149dd565b611e63565b60405161028294939291906154f1565b6104ce6104c93660046149dd565b611ec4565b604051610282959493929190615324565b6103be6104ed3660046145d4565b611f6f565b61050561050036600461463a565b611fe8565b60405161028291906150f9565b6103de6105203660046145a9565b6120ac565b6105386105333660046149dd565b612133565b6040516102829493929190615055565b6103de6105563660046144da565b61216f565b61056e6105693660046149dd565b6121fc565b604051610282939291906153b2565b61059061058b3660046149dd565b6122a9565b6040516102829291906152a0565b6105b16105ac3660046149dd565b6122e2565b604051610282929190615528565b6103be6105cd36600461448c565b612330565b6103036105e0366004614565565b61239e565b6105f86105f3366004614a94565b6129e1565b60405161028291906154dd565b6103de6106133660046147e2565b612f7e565b61062b6106263660046146be565b612fb6565b60405161028293929190615146565b61064d61064836600461448c565b6130ee565b604051610282929190615233565b61066e610669366004614aec565b613107565b604051610282939291906156d5565b61069061068b3660046149dd565b613341565b60405161028293929190615481565b6000806106b3836106ae61337e565b6133a2565b60006106cc60048551866133fc9092919063ffffffff16565b8060200190516106df9190810190614990565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61343f16565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b60405180910390fd5b61078e84601063ffffffff61347316565b91506107a184602463ffffffff6134a616565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134b2565b60006107f560048651876133fc9092919063ffffffff16565b8060200190516108089190810190614d20565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134d6565b925050505b92915050565b6000606080610861846106ae6134ec565b835161087790859060049063ffffffff6133fc16565b80602001905161088a9190810190614930565b9196909550909350915050565b6000806108a6836106ae613510565b82516108bc90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148d2565b9094909350915050565b60008060606108ea846106ae613534565b600061090360048651876133fc9092919063ffffffff16565b8060200190516109169190810190614cd4565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613558565b845161095490869060049063ffffffff6133fc16565b806020019051610967919081019061488e565b92989197509550909350915050565b600080610985836106ae61357c565b600061099e60048551866133fc9092919063ffffffff16565b8060200190516109b19190810190614c07565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fb1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a0565b8351610afa90859060049063ffffffff6133fc16565b80602001905161088a91908101906143b2565b60608080806000610b24868263ffffffff61343f16565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615630565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155f9565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135c416565b80602001905161117f9190810190614607565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c86613644565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c90565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135c416565b8060200190516113059190810190614a61565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c86613673565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c8661376d565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c90565b6114e8613c90565b60608061150260048b518c6135c49092919063ffffffff16565b8060200190516115159190810190614b43565b604080516002808252606082019092529498509296509094509250816020015b61153d613c90565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e1565b825161167390849060049063ffffffff6133fc16565b8060200190516108cf91908101906149b4565b600080611695836106ae613805565b82516116ab90849060049063ffffffff6133fc16565b8060200190516108cf9190810190614379565b6000806116d1838263ffffffff61343f16565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347316565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fb1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614f95565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134a616565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c0908490602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614f95565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347316565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a85929190615089565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614f95565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134a616565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c33908690600090819081906024016153fa565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614f95565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61343f16565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b611e5c83601063ffffffff61347316565b9050915091565b60008060006060611e76856106ae613829565b6000611e8f60048751886133fc9092919063ffffffff16565b806020019051611ea29190810190614c76565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61343f16565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e49085908590602401615089565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae61384d565b845161215c90869060049063ffffffff6133fc16565b80602001905161096791908101906143f4565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab908790879087908790602401615003565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61343f16565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b835161228c90859060049063ffffffff6135c416565b80602001905161229f9190810190614817565b9395909450915050565b600060606122b9836106ae613871565b82516122cf90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148f5565b6000806122f1836106ae613895565b600061230a60048551866133fc9092919063ffffffff16565b80602001905161231d9190810190614c07565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61343f16565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347316565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fc5565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614f95565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134a616565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e908790602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614f95565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347316565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614f95565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134a616565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d23565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614bef565b3a6138b9565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150a2565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614f95565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61343f16565b9050612e90613534565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134ec565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155c2565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615205565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d52565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d52565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b9906131599088906004016156f9565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a10565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb908990899060040161570c565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061486e565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393016565b156132ba576132b3846132ad848d6080015161395590919063ffffffff16565b85613971565b9050613313565b816132ce576132b3848b6080015185613971565b60006132df868c6101800151610828565b905060006132f2868d6080015187613971565b90506000613301838688613971565b905061330d82826134d6565b93505050505b61333361332d89604001518561399b90919063ffffffff16565b826134d6565b965050505050509250925092565b6000806000613352846106ae6139ba565b600061336b60048651876133fc9092919063ffffffff16565b8060200190516108089190810190614c34565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133af83600061343f565b90506001600160e01b0319808216908316146133f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615667565b505050565b60608183111561341a5761341a613415600085856139de565b613a4d565b83518211156134335761343361341560018487516139de565b50819003910190815290565b600081600401835110156134605761346061341560038551856004016139de565b5001602001516001600160e01b03191690565b600081601401835110156134945761349461341560048551856014016139de565b5001601401516001600160a01b031690565b60006120a58383613a55565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134e557816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135dd576135dd613415600085856139de565b83518211156135f6576135f661341560018487516139de565b8282036040519080825280601f01601f191660200182016040528015613623576020820181803883390190505b5090506120a561363282613a7f565b8461363c87613a7f565b018351613a85565b606080606061366060048551866135c49092919063ffffffff16565b80602001905161088a9190810190614715565b60408051600180825281830190925260609182918291816020015b613696613c90565b81526020019060019003908161368e5750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136df575050845190915061370c90859060049063ffffffff6135c416565b80602001905161371f9190810190614b9c565b8560008151811061372c57fe5b602002602001018560008151811061374057fe5b602002602001018560008151811061375457fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137a99186915060049063ffffffff6135c416565b8060200190516137bc919081019061478f565b845185906000906137c957fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c1613d23565b6020810184905260a085015160808601516138dd918691613b2a565b815260a085015160c08601516138f4918691613b2a565b604082015260a085015160e086015161390e918691613b2a565b6060820152613923828463ffffffff613b5e16565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341560008686613b8b565b600061399383613987868563ffffffff613b5e16565b9063ffffffff613baa16565b949350505050565b6000828211156139b4576139b461341560028585613b8b565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b8484846040516024016139fd939291906154cf565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7657613a7661341560058551856020016139de565b50016020015190565b60200190565b6020811015613aaf576001816020036101000a0380198351168185511680821786525050506133f7565b82821415613abc576133f7565b82821115613af65760208103905080820181840181515b82851015613aee578451865260209586019590940193613ad3565b9052506133f7565b60208103905080820181840183515b81861215613b215782518252601f199283019290910190613b05565b85525050505050565b6000613b37848484613bd4565b15613b4a57613b4a613415858585613c3a565b61399383613987868563ffffffff613b5e16565b600082613b6d5750600061084a565b82820282848281613b7a57fe5b04146120a5576120a5613415600186865b606063e946c1bb60e01b8484846040516024016139fd93929190615460565b600081613bc057613bc061341560038585613b8b565b6000828481613bcb57fe5b04949350505050565b600082613be657613be6613415613c59565b811580613bf1575083155b15613bfe575060006120a5565b60008380613c0857fe5b8584099050613c1d858463ffffffff613b5e16565b613c2f826103e863ffffffff613b5e16565b101595945050505050565b606063339f3de260e01b8484846040516024016139fd9392919061573a565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615816565b805161084a81615816565b600082601f830112613d98578081fd5b8135613dab613da682615777565b615750565b818152915060208083019084810181840286018201871015613dcc57600080fd5b60005b84811015611dc7578135613de281615816565b84529282019290820190600101613dcf565b600082601f830112613e04578081fd5b8151613e12613da682615777565b8181529150602080830190840160005b83811015613e4f57613e3a8760208451890101614074565b83526020928301929190910190600101613e22565b5050505092915050565b600082601f830112613e69578081fd5b8135613e77613da682615777565b8181529150602080830190840160005b83811015613e4f57613e9f8760208435890101614026565b83526020928301929190910190600101613e87565b600082601f830112613ec4578081fd5b8151613ed2613da682615777565b8181529150602080830190840160005b83811015613e4f57613efa8760208451890101614209565b83526020928301929190910190600101613ee2565b600082601f830112613f1f578081fd5b8135613f2d613da682615777565b8181529150602080830190840160005b83811015613e4f57613f5587602084358901016140ba565b83526020928301929190910190600101613f3d565b600082601f830112613f7a578081fd5b8151613f88613da682615777565b818152915060208083019084810181840286018201871015613fa957600080fd5b60005b84811015611dc757815184529282019290820190600101613fac565b600082601f830112613fd8578081fd5b8135613fe6613da682615777565b81815291506020808301908481018184028601820187101561400757600080fd5b60005b84811015611dc75781358452928201929082019060010161400a565b600082601f830112614036578081fd5b8135614044613da682615797565b915080825283602082850101111561405b57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112614084578081fd5b8151614092613da682615797565b91508082528360208285010111156140a957600080fd5b611dcc8160208401602086016157bb565b60006101c08083850312156140cd578182fd5b6140d681615750565b9150506140e38383613d72565b81526140f28360208401613d72565b60208201526141048360408401613d72565b60408201526141168360608401613d72565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff8082111561417857600080fd5b61418486838701614026565b838501526101609250828501359150808211156141a057600080fd5b6141ac86838701614026565b838501526101809250828501359150808211156141c857600080fd5b6141d486838701614026565b838501526101a09250828501359150808211156141f057600080fd5b506141fd85828601614026565b82840152505092915050565b60006101c080838503121561421c578182fd5b61422581615750565b9150506142328383613d7d565b81526142418360208401613d7d565b60208201526142538360408401613d7d565b60408201526142658360608401613d7d565b60608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015167ffffffffffffffff808211156142c757600080fd5b6142d386838701614074565b838501526101609250828501519150808211156142ef57600080fd5b6142fb86838701614074565b8385015261018092508285015191508082111561431757600080fd5b61432386838701614074565b838501526101a092508285015191508082111561433f57600080fd5b506141fd85828601614074565b805160ff8116811461084a57600080fd5b60006020828403121561436e578081fd5b81356120a581615816565b6000806040838503121561438b578081fd5b825161439681615816565b60208401519092506143a781615816565b809150509250929050565b6000806000606084860312156143c6578081fd5b83516143d181615816565b60208501519093506143e281615816565b80925050604084015190509250925092565b60008060008060808587031215614409578182fd5b845161441481615816565b602086015190945067ffffffffffffffff80821115614431578384fd5b61443d88838901614074565b94506040870151915080821115614452578384fd5b61445e88838901614074565b93506060870151915080821115614473578283fd5b5061448087828801614074565b91505092959194509250565b6000806040838503121561449e578182fd5b82356144a981615816565b9150602083013567ffffffffffffffff8111156144c4578182fd5b6144d085828601613e59565b9150509250929050565b600080600080608085870312156144ef578182fd5b84356144fa81615816565b9350602085013567ffffffffffffffff80821115614516578384fd5b61452288838901613fc8565b94506040870135915080821115614537578384fd5b61454388838901613fc8565b93506060870135915080821115614558578283fd5b5061448087828801614026565b60008060408385031215614577578182fd5b823561458281615816565b9150602083013567ffffffffffffffff81111561459d578182fd5b6144d085828601614026565b600080604083850312156145bb578182fd5b82356145c681615816565b946020939093013593505050565b6000602082840312156145e5578081fd5b813567ffffffffffffffff8111156145fb578182fd5b61399384828501613d88565b600060208284031215614618578081fd5b815167ffffffffffffffff81111561462e578182fd5b61399384828501613eb4565b60008060006060848603121561464e578081fd5b833567ffffffffffffffff80821115614665578283fd5b61467187838801613f0f565b94506020860135915080821115614686578283fd5b61469287838801613d88565b935060408601359150808211156146a7578283fd5b506146b486828701613fc8565b9150509250925092565b600080604083850312156146d0578182fd5b823567ffffffffffffffff808211156146e7578384fd5b6146f386838701613f0f565b93506020850135915080821115614708578283fd5b506144d085828601613e59565b600080600060608486031215614729578081fd5b835167ffffffffffffffff80821115614740578283fd5b61474c87838801613eb4565b94506020860151915080821115614761578283fd5b61476d87838801613f6a565b93506040860151915080821115614782578283fd5b506146b486828701613df4565b6000806000606084860312156147a3578081fd5b835167ffffffffffffffff808211156147ba578283fd5b6147c687838801613eb4565b9450602086015193506040860151915080821115614782578283fd5b600080604083850312156147f4578182fd5b823567ffffffffffffffff8082111561480b578384fd5b6146f386838701613fc8565b60008060408385031215614829578182fd5b825167ffffffffffffffff80821115614840578384fd5b61484c86838701613f6a565b93506020850151915080821115614861578283fd5b506144d085828601613df4565b60006020828403121561487f578081fd5b815180151581146120a5578182fd5b600080600080608085870312156148a3578182fd5b8451935060208501516148b581615816565b604086015190935067ffffffffffffffff80821115614452578384fd5b600080604083850312156148e4578182fd5b505080516020909101519092909150565b60008060408385031215614907578182fd5b82519150602083015167ffffffffffffffff811115614924578182fd5b6144d085828601614074565b600080600060608486031215614944578081fd5b83519250602084015167ffffffffffffffff80821115614962578283fd5b61496e87838801614074565b93506040860151915080821115614983578283fd5b506146b486828701614074565b600080604083850312156149a2578182fd5b8251915060208301516143a78161582b565b600080604083850312156149c6578182fd5b82516001600160e01b031981168114614396578283fd5b6000602082840312156149ee578081fd5b813567ffffffffffffffff811115614a04578182fd5b61399384828501614026565b60006060828403128015614a22578182fd5b8015614a2c578182fd5b50614a376060615750565b8251614a428161582b565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a72578081fd5b815167ffffffffffffffff811115614a88578182fd5b61399384828501614209565b600080600060608486031215614aa8578081fd5b833567ffffffffffffffff811115614abe578182fd5b614aca868287016140ba565b9350506020840135614adb81615816565b929592945050506040919091013590565b60008060408385031215614afe578182fd5b823567ffffffffffffffff80821115614b15578384fd5b614b21868387016140ba565b93506020850135915080821115614b36578283fd5b506144d085828601614026565b60008060008060808587031215614b58578182fd5b845167ffffffffffffffff80821115614b6f578384fd5b614b7b88838901614209565b95506020870151915080821115614b90578384fd5b61443d88838901614209565b600080600060608486031215614bb0578081fd5b835167ffffffffffffffff80821115614bc7578283fd5b614bd387838801614209565b9450602086015193506040860151915080821115614983578283fd5b600060208284031215614c00578081fd5b5051919050565b60008060408385031215614c19578182fd5b8251614c248161582b565b6020939093015192949293505050565b600080600060608486031215614c48578081fd5b8351614c538161582b565b602085015160408601519194509250614c6b81615816565b809150509250925092565b60008060008060808587031215614c8b578182fd5b614c95868661434c565b9350602085015192506040850151614cac81615816565b606086015190925067ffffffffffffffff811115614cc8578182fd5b61448087828801614074565b600080600060608486031215614ce8578081fd5b614cf2858561434c565b925060208401519150604084015167ffffffffffffffff811115614d14578182fd5b6146b486828701614074565b600080600060608486031215614d34578081fd5b614d3e858561434c565b925060208401519150604084015190509250925092565b1515815260200190565b6000614d6b8383614e78565b505060600190565b6001600160a01b03169052565b6000815180845260208401935060208301825b82811015614dba5781516001600160a01b0316865260209586019590910190600101614d93565b5093949350505050565b600081518084526020840180819550602083028101915060208501845b84811015614e0f578284038852614df9848351614e4c565b6020988901989094509190910190600101614de1565b50919695505050505050565b6000815180845260208401935060208301825b82811015614dba578151865260209586019590910190600101614e2e565b60008151808452614e648160208601602086016157bb565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ea4848451614d73565b6020830151614eb66020860182614d73565b506040830151614ec96040860182614d73565b506060830151614edc6060860182614d73565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f3583870182614e4c565b91505061016091508184015185820383870152614f528282614e4c565b925050506101808084015185830382870152614f6e8382614e4c565b9150506101a091508184015185820383870152614f8b8282614e4c565b9695505050505050565b60008251614fa78184602087016157bb565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150256080830186614e1b565b82810360408401526150378186614e1b565b83810360608501526150498186614e4c565b98975050505050505050565b60006001600160a01b0386168252608060208301526150776080830186614e4c565b82810360408401526150378186614e4c565b6001600160a01b03929092168252602082015260400190565b6000608082526150b56080830187614dc4565b82810360208401526150c78187614d80565b83810360408501526150d98187614d80565b91505082810360608401526150ee8185614e1b565b979650505050505050565b602080825282518282018190526000918401906040840190835b8181101561513b5783516005811061512757fe5b835260209384019390920191600101615113565b509095945050505050565b6000606082016060835280865161515d8184615731565b9150602088019250835b8181101561518b5761517a838551614d5f565b602094909401939250600101615167565b5050838103602085015261519f8187614e1b565b91505082810360408401528084516151b78184615731565b9150602086019250835b818110156151e5576151d4838551614d55565b6020949094019392506001016151c1565b5090979650505050505050565b6000602082526120a56020830184614e1b565b6000604082526152186040830185614e1b565b828103602084015261522a8185614dc4565b95945050505050565b6000604082526152466040830185614e1b565b828103602084015261522a8185614e1b565b60008582526001600160a01b0385166020830152608060408301526152806080830185614e4c565b82810360608401526150ee8185614e4c565b918252602082015260400190565b6000838252604060208301526139936040830184614e4c565b6000848252606060208301526152d26060830185614e4c565b8281036040840152614f8b8185614e4c565b828152604081016152f48361580c565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261535660a0830186614e1b565b82810360608401526153688186614e1b565b838103608085015261537a8186614e4c565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153d56060830185614e1b565b8281036040840152614f8b8185614dc4565b6000602082526120a56020830184614e4c565b60006080825261540d6080830187614e4c565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b6000615443856157eb565b8482528360208301526060604083015261522a6060830184614e4c565b6060810161546d856157f8565b938152602081019290925260409091015290565b6060810161548e85615802565b93815260208101929092526001600160a01b031660409091015290565b604081016154b8846157f8565b9281526020015290565b6060810161546d85615802565b606081016008851061546d57fe5b60208101600583106154eb57fe5b91905290565b60006154fc8661580c565b8582528460208301526001600160a01b038416604083015260806060830152614f8b6080830184614e4c565b604081016154b8846157eb565b6000608082526155486080830187614e4c565b602083820381850152818751808452828401915082838202850101838a01865b8381101561559657601f19878403018552615584838351614e94565b94860194925090850190600101615568565b505086810360408801526155aa818a614e1b565b94505050505082810360608401526150ee8185614dc4565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156e38286614e78565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614e94565b60006040825261571f6040830185614e94565b828103602084015261522a8185614e4c565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561576f57600080fd5b604052919050565b600067ffffffffffffffff82111561578d578081fd5b5060209081020190565b600067ffffffffffffffff8211156157ad578081fd5b50601f01601f191660200190565b60005b838110156157d65781810151838201526020016157be565b838111156157e5576000848401525b50505050565b600281106157f557fe5b50565b600481106157f557fe5b600381106157f557fe5b600781106157f557fe5b6001600160a01b03811681146157f557600080fd5b60ff811681146157f557600080fdfea365627a7a723158200ea049525ebc74d73f3bf7858c601bd21168267b0dfb4abbdb7787cfd7233a2c6c6578706572696d656e74616cf564736f6c634300050c0040'; /** - * Decompose an ABI-encoded OrderStatusError. + * Decompose an ABI-encoded AssetProxyDispatchError. */ - public decodeOrderStatusError = { + public decodeAssetProxyDispatchError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param encoded ABI-encoded revert error. - * @returns orderHash The order hash.orderStatus The order status. + * @returns errorCode The error code.orderHash Hash of the order being dispatched.assetData Asset data of the order being dispatched. */ async callAsync( encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, number]> { + ): Promise<[number, string, string]> { assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -56,7 +56,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeOrderStatusError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeAssetProxyDispatchError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -68,9 +68,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, number]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[number, string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -84,7 +84,9 @@ export class DevUtilsContract extends BaseContract { getABIEncodedTransactionData(encoded: string): string { assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrderStatusError(bytes)', [encoded]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeAssetProxyDispatchError(bytes)', [ + encoded, + ]); return abiEncodedTransactionData; }, /** @@ -94,7 +96,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -104,11 +106,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, number] { + getABIDecodedReturnData(returnData: string): [number, string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, number]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string]>(returnData); return abiDecodedReturnData; }, /** @@ -116,28 +118,27 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decode ERC-721 asset data from the format described in the AssetProxy contract specification. + * Decompose an ABI-encoded AssetProxyExistsError. */ - public decodeERC721AssetData = { + public decodeAssetProxyExistsError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param assetData AssetProxy-compliant asset data describing an ERC-721 - * asset. - * @returns The ERC-721 AssetProxy identifier, the address of the ERC-721 contract hosting this asset, and the identifier of the specific asset to be traded. + * @param encoded ABI-encoded revert error. + * @returns assetProxyId Id of asset proxy.assetProxyAddress The address of the asset proxy. */ async callAsync( - assetData: string, + encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string, BigNumber]> { - assert.isString('assetData', assetData); + ): Promise<[string, string]> { + assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -147,7 +148,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeERC721AssetData(bytes)', [assetData]); + const encodedData = self._strictEncodeArguments('decodeAssetProxyExistsError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -159,9 +160,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -169,14 +170,15 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param assetData AssetProxy-compliant asset data describing an ERC-721 - * asset. + * @param encoded ABI-encoded revert error. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(assetData: string): string { - assert.isString('assetData', assetData); + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC721AssetData(bytes)', [assetData]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeAssetProxyExistsError(bytes)', [ + encoded, + ]); return abiEncodedTransactionData; }, /** @@ -186,7 +188,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -196,11 +198,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string, BigNumber] { + getABIDecodedReturnData(returnData: string): [string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); return abiDecodedReturnData; }, /** @@ -208,31 +210,27 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Calls getBalance() and getAllowance() for assetData. + * Decompose an ABI-encoded AssetProxyTransferError. */ - public getBalanceAndAssetProxyAllowance = { + public decodeAssetProxyTransferError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Details of asset, encoded per the AssetProxy contract - * specification. - * @returns Number of assets (or asset baskets) held by owner, and number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. + * @param encoded ABI-encoded revert error. + * @returns orderHash Hash of the order being dispatched.assetData Asset data of the order being dispatched.errorData ABI-encoded revert data from the asset proxy. */ async callAsync( - ownerAddress: string, - assetData: string, + encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[BigNumber, BigNumber]> { - assert.isString('ownerAddress', ownerAddress); - assert.isString('assetData', assetData); + ): Promise<[string, string, string]> { + assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -242,32 +240,21 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('getBalanceAndAssetProxyAllowance(address,bytes)', [ - ownerAddress.toLowerCase(), - assetData, - ]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; + const encodedData = self._strictEncodeArguments('decodeAssetProxyTransferError(bytes)', [encoded]); + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + let rawCallResult; try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + rawCallResult = await self.evmExecAsync(encodedDataBytes); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); + + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyTransferError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -275,19 +262,15 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Details of asset, encoded per the AssetProxy contract - * specification. + * @param encoded ABI-encoded revert error. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(ownerAddress: string, assetData: string): string { - assert.isString('ownerAddress', ownerAddress); - assert.isString('assetData', assetData); + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getBalanceAndAssetProxyAllowance(address,bytes)', - [ownerAddress.toLowerCase(), assetData], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeAssetProxyTransferError(bytes)', [ + encoded, + ]); return abiEncodedTransactionData; }, /** @@ -295,11 +278,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, string] { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyTransferError(bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -307,11 +290,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [BigNumber, BigNumber] { + getABIDecodedReturnData(returnData: string): [string, string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyTransferError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, string]>(returnData); return abiDecodedReturnData; }, /** @@ -319,26 +302,26 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyTransferError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded IncompleteFillError. + * Decompose an ABI-encoded SignatureValidatorError. */ - public decodeIncompleteFillError = { + public decodeEIP1271SignatureError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param encoded ABI-encoded revert error. - * @returns orderHash Hash of the order being filled. + * @returns signerAddress The expected signer of the hash.signature The full signature bytes.errorData The revert data thrown by the validator contract. */ async callAsync( encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[number, BigNumber, BigNumber]> { + ): Promise<[string, string, string, string]> { assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -349,7 +332,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeIncompleteFillError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeEIP1271SignatureError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -361,9 +344,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, BigNumber, BigNumber]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -377,7 +360,7 @@ export class DevUtilsContract extends BaseContract { getABIEncodedTransactionData(encoded: string): string { assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeIncompleteFillError(bytes)', [ + const abiEncodedTransactionData = self._strictEncodeArguments('decodeEIP1271SignatureError(bytes)', [ encoded, ]); return abiEncodedTransactionData; @@ -389,7 +372,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -399,11 +382,13 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [number, BigNumber, BigNumber] { + getABIDecodedReturnData(returnData: string): [string, string, string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, BigNumber, BigNumber]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>( + returnData, + ); return abiDecodedReturnData; }, /** @@ -411,30 +396,27 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Gets the amount of an asset transferable by the owner. + * Decode ERC-1155 asset data from the format described in the AssetProxy contract specification. */ - public getTransferableAssetAmount = { + public decodeERC1155AssetData = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param ownerAddress Address of the owner of the asset. - * @param assetData Description of tokens, per the AssetProxy contract - * specification. - * @returns 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`. + * @param assetData AssetProxy-compliant asset data describing an ERC-1155 set + * of assets. + * @returns The ERC-1155 AssetProxy identifier, the address of the ERC-1155 contract hosting the assets, an array of the identifiers of the assets to be traded, an array of asset amounts to be traded, and callback data. Each element of the arrays corresponds to the same-indexed element of the other array. Return values specified as `memory` are returned as pointers to locations within the memory of the input parameter `assetData`. */ async callAsync( - ownerAddress: string, assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('ownerAddress', ownerAddress); + ): Promise<[string, string, BigNumber[], BigNumber[], string]> { assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -445,32 +427,23 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('getTransferableAssetAmount(address,bytes)', [ - ownerAddress.toLowerCase(), - assetData, - ]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; + const encodedData = self._strictEncodeArguments('decodeERC1155AssetData(bytes)', [assetData]); + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + let rawCallResult; try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + rawCallResult = await self.evmExecAsync(encodedDataBytes); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); + + const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber[], BigNumber[], string]>( + rawCallResult, + ); // tslint:enable boolean-naming return result; }, @@ -478,19 +451,14 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param ownerAddress Address of the owner of the asset. - * @param assetData Description of tokens, per the AssetProxy contract - * specification. + * @param assetData AssetProxy-compliant asset data describing an ERC-1155 set + * of assets. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(ownerAddress: string, assetData: string): string { - assert.isString('ownerAddress', ownerAddress); + getABIEncodedTransactionData(assetData: string): string { assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getTransferableAssetAmount(address,bytes)', [ - ownerAddress.toLowerCase(), - assetData, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC1155AssetData(bytes)', [assetData]); return abiEncodedTransactionData; }, /** @@ -498,11 +466,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -510,11 +478,13 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): [string, string, BigNumber[], BigNumber[], string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + [string, string, BigNumber[], BigNumber[], string] + >(returnData); return abiDecodedReturnData; }, /** @@ -522,27 +492,27 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded AssetProxyTransferError. + * Decode ERC-20 asset data from the format described in the AssetProxy contract specification. */ - public decodeAssetProxyTransferError = { + public decodeERC20AssetData = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param encoded ABI-encoded revert error. - * @returns orderHash Hash of the order being dispatched.assetData Asset data of the order being dispatched.errorData ABI-encoded revert data from the asset proxy. + * @param assetData AssetProxy-compliant asset data describing an ERC-20 asset. + * @returns The ERC-20 AssetProxy identifier, and the address of the ERC-20 contract hosting this asset. */ async callAsync( - encoded: string, + assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string, string]> { - assert.isString('encoded', encoded); + ): Promise<[string, string]> { + assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -552,7 +522,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeAssetProxyTransferError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeERC20AssetData(bytes)', [assetData]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -564,9 +534,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyTransferError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -574,15 +544,13 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param encoded ABI-encoded revert error. + * @param assetData AssetProxy-compliant asset data describing an ERC-20 asset. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); + getABIEncodedTransactionData(assetData: string): string { + assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeAssetProxyTransferError(bytes)', [ - encoded, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC20AssetData(bytes)', [assetData]); return abiEncodedTransactionData; }, /** @@ -592,7 +560,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyTransferError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -602,11 +570,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string, string] { + getABIDecodedReturnData(returnData: string): [string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyTransferError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); return abiDecodedReturnData; }, /** @@ -614,27 +582,28 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyTransferError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded NegativeSpreadError. + * Decode ERC-721 asset data from the format described in the AssetProxy contract specification. */ - public decodeNegativeSpreadError = { + public decodeERC721AssetData = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param encoded ABI-encoded revert error. - * @returns leftOrderHash Hash of the left order being matched.rightOrderHash Hash of the right order being matched. + * @param assetData AssetProxy-compliant asset data describing an ERC-721 + * asset. + * @returns The ERC-721 AssetProxy identifier, the address of the ERC-721 contract hosting this asset, and the identifier of the specific asset to be traded. */ async callAsync( - encoded: string, + assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string]> { - assert.isString('encoded', encoded); + ): Promise<[string, string, BigNumber]> { + assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -644,7 +613,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeNegativeSpreadError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeERC721AssetData(bytes)', [assetData]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -656,9 +625,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeNegativeSpreadError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -666,15 +635,14 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param encoded ABI-encoded revert error. + * @param assetData AssetProxy-compliant asset data describing an ERC-721 + * asset. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); + getABIEncodedTransactionData(assetData: string): string { + assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeNegativeSpreadError(bytes)', [ - encoded, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC721AssetData(bytes)', [assetData]); return abiEncodedTransactionData; }, /** @@ -684,7 +652,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeNegativeSpreadError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -694,11 +662,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string] { + getABIDecodedReturnData(returnData: string): [string, string, BigNumber] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeNegativeSpreadError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber]>(returnData); return abiDecodedReturnData; }, /** @@ -706,20 +674,20 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeNegativeSpreadError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeERC721AssetData(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded AssetProxyDispatchError. + * Decompose an ABI-encoded OrderStatusError. */ - public decodeAssetProxyDispatchError = { + public decodeExchangeInvalidContextError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param encoded ABI-encoded revert error. - * @returns errorCode The error code.orderHash Hash of the order being dispatched.assetData Asset data of the order being dispatched. + * @returns errorCode Error code that corresponds to invalid maker, taker, or sender.orderHash The order hash.contextAddress The maker, taker, or sender address */ async callAsync( encoded: string, @@ -736,7 +704,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeAssetProxyDispatchError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeExchangeInvalidContextError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -748,7 +716,7 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<[number, string, string]>(rawCallResult); // tslint:enable boolean-naming @@ -764,7 +732,7 @@ export class DevUtilsContract extends BaseContract { getABIEncodedTransactionData(encoded: string): string { assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeAssetProxyDispatchError(bytes)', [ + const abiEncodedTransactionData = self._strictEncodeArguments('decodeExchangeInvalidContextError(bytes)', [ encoded, ]); return abiEncodedTransactionData; @@ -776,7 +744,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -788,7 +756,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): [number, string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string]>(returnData); return abiDecodedReturnData; @@ -798,26 +766,26 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyDispatchError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded SignatureWalletError. + * Decompose an ABI-encoded FillError. */ - public decodeSignatureWalletError = { + public decodeFillError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param encoded ABI-encoded revert error. - * @returns errorCode The error code.signerAddress The expected signer of the hash.signature The full signature bytes.errorData The revert data thrown by the validator contract. + * @returns errorCode The error code.orderHash The order hash. */ async callAsync( encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string, string, string]> { + ): Promise<[number, string]> { assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -828,7 +796,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeSignatureWalletError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeFillError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -840,9 +808,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeSignatureWalletError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[number, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -856,9 +824,7 @@ export class DevUtilsContract extends BaseContract { getABIEncodedTransactionData(encoded: string): string { assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeSignatureWalletError(bytes)', [ - encoded, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeFillError(bytes)', [encoded]); return abiEncodedTransactionData; }, /** @@ -868,7 +834,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeSignatureWalletError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -878,13 +844,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string, string, string] { + getABIDecodedReturnData(returnData: string): [number, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeSignatureWalletError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>( - returnData, - ); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string]>(returnData); return abiDecodedReturnData; }, /** @@ -892,26 +856,26 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeSignatureWalletError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded FillError. + * Decompose an ABI-encoded IncompleteFillError. */ - public decodeFillError = { + public decodeIncompleteFillError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param encoded ABI-encoded revert error. - * @returns errorCode The error code.orderHash The order hash. + * @returns orderHash Hash of the order being filled. */ async callAsync( encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[number, string]> { + ): Promise<[number, BigNumber, BigNumber]> { assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -922,7 +886,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeFillError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeIncompleteFillError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -934,9 +898,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[number, BigNumber, BigNumber]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -950,7 +914,9 @@ export class DevUtilsContract extends BaseContract { getABIEncodedTransactionData(encoded: string): string { assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeFillError(bytes)', [encoded]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeIncompleteFillError(bytes)', [ + encoded, + ]); return abiEncodedTransactionData; }, /** @@ -960,7 +926,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -970,11 +936,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [number, string] { + getABIDecodedReturnData(returnData: string): [number, BigNumber, BigNumber] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, BigNumber, BigNumber]>(returnData); return abiDecodedReturnData; }, /** @@ -982,31 +948,27 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeFillError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeIncompleteFillError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Calls getAssetProxyAllowance() for each element of assetData. + * Decode multi-asset data from the format described in the AssetProxy contract specification. */ - public getBatchAssetProxyAllowances = { + public decodeMultiAssetData = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @returns An array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. + * @param assetData AssetProxy-compliant data describing a multi-asset basket. + * @returns The Multi-Asset AssetProxy identifier, an array of the amounts of the assets to be traded, and an array of the AssetProxy-compliant data describing each asset to be traded. Each element of the arrays corresponds to the same-indexed element of the other array. */ async callAsync( - ownerAddress: string, - assetData: string[], + assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('ownerAddress', ownerAddress); - assert.isArray('assetData', assetData); + ): Promise<[string, BigNumber[], string[]]> { + assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1016,32 +978,21 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('getBatchAssetProxyAllowances(address,bytes[])', [ - ownerAddress.toLowerCase(), - assetData, - ]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; + const encodedData = self._strictEncodeArguments('decodeMultiAssetData(bytes)', [assetData]); + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + let rawCallResult; try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + rawCallResult = await self.evmExecAsync(encodedDataBytes); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); + + const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber[], string[]]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1049,19 +1000,13 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. + * @param assetData AssetProxy-compliant data describing a multi-asset basket. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(ownerAddress: string, assetData: string[]): string { - assert.isString('ownerAddress', ownerAddress); - assert.isArray('assetData', assetData); + getABIEncodedTransactionData(assetData: string): string { + assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getBatchAssetProxyAllowances(address,bytes[])', - [ownerAddress.toLowerCase(), assetData], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeMultiAssetData(bytes)', [assetData]); return abiEncodedTransactionData; }, /** @@ -1069,11 +1014,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); + const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -1081,11 +1026,13 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber[] { + getABIDecodedReturnData(returnData: string): [string, BigNumber[], string[]] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); + const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, BigNumber[], string[]]>( + returnData, + ); return abiDecodedReturnData; }, /** @@ -1093,28 +1040,27 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); + const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Encode ERC-20 asset data into the format described in the AssetProxy contract specification. + * Decompose an ABI-encoded NegativeSpreadError. */ - public encodeERC20AssetData = { + public decodeNegativeSpreadError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param tokenAddress The address of the ERC-20 contract hosting the asset to - * be traded. - * @returns AssetProxy-compliant data describing the asset. + * @param encoded ABI-encoded revert error. + * @returns leftOrderHash Hash of the left order being matched.rightOrderHash Hash of the right order being matched. */ async callAsync( - tokenAddress: string, + encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('tokenAddress', tokenAddress); + ): Promise<[string, string]> { + assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1124,9 +1070,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('encodeERC20AssetData(address)', [ - tokenAddress.toLowerCase(), - ]); + const encodedData = self._strictEncodeArguments('decodeNegativeSpreadError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -1138,9 +1082,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(address)'); + const abiEncoder = self._lookupAbiEncoder('decodeNegativeSpreadError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1148,15 +1092,14 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param tokenAddress The address of the ERC-20 contract hosting the asset to - * be traded. + * @param encoded ABI-encoded revert error. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(tokenAddress: string): string { - assert.isString('tokenAddress', tokenAddress); + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('encodeERC20AssetData(address)', [ - tokenAddress.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('decodeNegativeSpreadError(bytes)', [ + encoded, ]); return abiEncodedTransactionData; }, @@ -1165,11 +1108,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(address)'); + const abiEncoder = self._lookupAbiEncoder('decodeNegativeSpreadError(bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -1177,11 +1120,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): [string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(address)'); + const abiEncoder = self._lookupAbiEncoder('decodeNegativeSpreadError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); return abiDecodedReturnData; }, /** @@ -1189,7 +1132,7 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(address)'); + const abiEncoder = self._lookupAbiEncoder('decodeNegativeSpreadError(bytes)'); return abiEncoder.getSelector(); }, }; @@ -1284,45 +1227,22 @@ export class DevUtilsContract extends BaseContract { }, }; /** - * Decodes the call data for an Exchange contract method call. + * Decompose an ABI-encoded OrderStatusError. */ - public decodeZeroExTransactionData = { + public decodeOrderStatusError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transactionData ABI-encoded calldata for an Exchange contract - * method call. - * @returns The name of the function called, and the parameters it was given. For single-order fills and cancels, the arrays will have just one element. + * @param encoded ABI-encoded revert error. + * @returns orderHash The order hash.orderStatus The order status. */ async callAsync( - transactionData: string, + encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [ - string, - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - BigNumber[], - string[] - ] - > { - assert.isString('transactionData', transactionData); + ): Promise<[string, number]> { + assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1332,7 +1252,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeZeroExTransactionData(bytes)', [transactionData]); + const encodedData = self._strictEncodeArguments('decodeOrderStatusError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -1344,31 +1264,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeZeroExTransactionData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - string, - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - BigNumber[], - string[] - ] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, number]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1376,16 +1274,13 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transactionData ABI-encoded calldata for an Exchange contract - * method call. + * @param encoded ABI-encoded revert error. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(transactionData: string): string { - assert.isString('transactionData', transactionData); + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeZeroExTransactionData(bytes)', [ - transactionData, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeOrderStatusError(bytes)', [encoded]); return abiEncodedTransactionData; }, /** @@ -1395,7 +1290,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeZeroExTransactionData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -1405,55 +1300,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData( - returnData: string, - ): [ - string, - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - BigNumber[], - string[] - ] { + getABIDecodedReturnData(returnData: string): [string, number] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeZeroExTransactionData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - [ - string, - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - BigNumber[], - string[] - ] - >(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, number]>(returnData); return abiDecodedReturnData; }, /** @@ -1461,26 +1312,26 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeZeroExTransactionData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeOrderStatusError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded AssetProxyExistsError. + * Decompose an ABI-encoded SignatureError. */ - public decodeAssetProxyExistsError = { + public decodeSignatureError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param encoded ABI-encoded revert error. - * @returns assetProxyId Id of asset proxy.assetProxyAddress The address of the asset proxy. + * @returns errorCode The error code.signerAddress The expected signer of the hash.signature The full signature. */ async callAsync( encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string]> { + ): Promise<[number, string, string, string]> { assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1491,7 +1342,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeAssetProxyExistsError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeSignatureError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -1503,9 +1354,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[number, string, string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1519,9 +1370,7 @@ export class DevUtilsContract extends BaseContract { getABIEncodedTransactionData(encoded: string): string { assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeAssetProxyExistsError(bytes)', [ - encoded, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeSignatureError(bytes)', [encoded]); return abiEncodedTransactionData; }, /** @@ -1531,7 +1380,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -1541,11 +1390,13 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string] { + getABIDecodedReturnData(returnData: string): [number, string, string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string, string]>( + returnData, + ); return abiDecodedReturnData; }, /** @@ -1553,7 +1404,7 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeAssetProxyExistsError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); return abiEncoder.getSelector(); }, }; @@ -1653,26 +1504,22 @@ export class DevUtilsContract extends BaseContract { }, }; /** - * Returns the owner's balance of the assets(s) specified in assetData. When the asset data contains multiple assets (eg in ERC1155 or Multi-Asset), the return value indicates how many complete "baskets" of those assets are owned by owner. + * Decompose an ABI-encoded SignatureWalletError. */ - public getBalance = { + public decodeSignatureWalletError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Details of asset, encoded per the AssetProxy contract - * specification. - * @returns Number of assets (or asset baskets) held by owner. + * @param encoded ABI-encoded revert error. + * @returns errorCode The error code.signerAddress The expected signer of the hash.signature The full signature bytes.errorData The revert data thrown by the validator contract. */ async callAsync( - ownerAddress: string, - assetData: string, + encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('ownerAddress', ownerAddress); - assert.isString('assetData', assetData); + ): Promise<[string, string, string, string]> { + assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1682,32 +1529,21 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('getBalance(address,bytes)', [ - ownerAddress.toLowerCase(), - assetData, - ]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; + const encodedData = self._strictEncodeArguments('decodeSignatureWalletError(bytes)', [encoded]); + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + let rawCallResult; try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + rawCallResult = await self.evmExecAsync(encodedDataBytes); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getBalance(address,bytes)'); + + const abiEncoder = self._lookupAbiEncoder('decodeSignatureWalletError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1715,18 +1551,14 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Details of asset, encoded per the AssetProxy contract - * specification. + * @param encoded ABI-encoded revert error. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(ownerAddress: string, assetData: string): string { - assert.isString('ownerAddress', ownerAddress); - assert.isString('assetData', assetData); + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBalance(address,bytes)', [ - ownerAddress.toLowerCase(), - assetData, + const abiEncodedTransactionData = self._strictEncodeArguments('decodeSignatureWalletError(bytes)', [ + encoded, ]); return abiEncodedTransactionData; }, @@ -1735,11 +1567,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBalance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeSignatureWalletError(bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -1747,11 +1579,13 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): [string, string, string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBalance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeSignatureWalletError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>( + returnData, + ); return abiDecodedReturnData; }, /** @@ -1759,27 +1593,27 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBalance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeSignatureWalletError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decode ERC-20 asset data from the format described in the AssetProxy contract specification. + * Decompose an ABI-encoded TransactionError. */ - public decodeERC20AssetData = { + public decodeTransactionError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param assetData AssetProxy-compliant asset data describing an ERC-20 asset. - * @returns The ERC-20 AssetProxy identifier, and the address of the ERC-20 contract hosting this asset. + * @param encoded ABI-encoded revert error. + * @returns errorCode The error code.transactionHash Hash of the transaction. */ async callAsync( - assetData: string, + encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string]> { - assert.isString('assetData', assetData); + ): Promise<[number, string]> { + assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1789,7 +1623,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeERC20AssetData(bytes)', [assetData]); + const encodedData = self._strictEncodeArguments('decodeTransactionError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -1801,9 +1635,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[number, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1811,13 +1645,13 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param assetData AssetProxy-compliant asset data describing an ERC-20 asset. + * @param encoded ABI-encoded revert error. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(assetData: string): string { - assert.isString('assetData', assetData); + getABIEncodedTransactionData(encoded: string): string { + assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC20AssetData(bytes)', [assetData]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeTransactionError(bytes)', [encoded]); return abiEncodedTransactionData; }, /** @@ -1827,7 +1661,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -1837,11 +1671,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string] { + getABIDecodedReturnData(returnData: string): [number, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string]>(returnData); return abiDecodedReturnData; }, /** @@ -1849,26 +1683,26 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC20AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded SignatureError. + * Decompose an ABI-encoded TransactionExecutionError. */ - public decodeSignatureError = { + public decodeTransactionExecutionError = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param encoded ABI-encoded revert error. - * @returns errorCode The error code.signerAddress The expected signer of the hash.signature The full signature. + * @returns transactionHash Hash of the transaction.errorData Error thrown by exeucteTransaction(). */ async callAsync( encoded: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[number, string, string, string]> { + ): Promise<[string, string]> { assert.isString('encoded', encoded); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1879,7 +1713,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeSignatureError(bytes)', [encoded]); + const encodedData = self._strictEncodeArguments('decodeTransactionExecutionError(bytes)', [encoded]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -1891,9 +1725,9 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, string, string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1907,7 +1741,9 @@ export class DevUtilsContract extends BaseContract { getABIEncodedTransactionData(encoded: string): string { assert.isString('encoded', encoded); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeSignatureError(bytes)', [encoded]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeTransactionExecutionError(bytes)', [ + encoded, + ]); return abiEncodedTransactionData; }, /** @@ -1917,7 +1753,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -1927,13 +1763,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [number, string, string, string] { + getABIDecodedReturnData(returnData: string): [string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string, string]>( - returnData, - ); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); return abiDecodedReturnData; }, /** @@ -1941,28 +1775,50 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeSignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decode ERC-1155 asset data from the format described in the AssetProxy contract specification. + * Decodes the call data for an Exchange contract method call. */ - public decodeERC1155AssetData = { + public decodeZeroExTransactionData = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param assetData AssetProxy-compliant asset data describing an ERC-1155 set - * of assets. - * @returns The ERC-1155 AssetProxy identifier, the address of the ERC-1155 contract hosting the assets, an array of the identifiers of the assets to be traded, an array of asset amounts to be traded, and callback data. Each element of the arrays corresponds to the same-indexed element of the other array. Return values specified as `memory` are returned as pointers to locations within the memory of the input parameter `assetData`. + * @param transactionData ABI-encoded calldata for an Exchange contract + * method call. + * @returns The name of the function called, and the parameters it was given. For single-order fills and cancels, the arrays will have just one element. */ async callAsync( - assetData: string, + transactionData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string, BigNumber[], BigNumber[], string]> { - assert.isString('assetData', assetData); + ): Promise< + [ + string, + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + BigNumber[], + string[] + ] + > { + assert.isString('transactionData', transactionData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1972,7 +1828,7 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeERC1155AssetData(bytes)', [assetData]); + const encodedData = self._strictEncodeArguments('decodeZeroExTransactionData(bytes)', [transactionData]); const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); let rawCallResult; @@ -1984,11 +1840,31 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeZeroExTransactionData(bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string, BigNumber[], BigNumber[], string]>( - rawCallResult, - ); + const result = abiEncoder.strictDecodeReturnValue< + [ + string, + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + BigNumber[], + string[] + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1996,14 +1872,16 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param assetData AssetProxy-compliant asset data describing an ERC-1155 set - * of assets. + * @param transactionData ABI-encoded calldata for an Exchange contract + * method call. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(assetData: string): string { - assert.isString('assetData', assetData); + getABIEncodedTransactionData(transactionData: string): string { + assert.isString('transactionData', transactionData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeERC1155AssetData(bytes)', [assetData]); + const abiEncodedTransactionData = self._strictEncodeArguments('decodeZeroExTransactionData(bytes)', [ + transactionData, + ]); return abiEncodedTransactionData; }, /** @@ -2013,7 +1891,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeZeroExTransactionData(bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -2023,12 +1901,54 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string, BigNumber[], BigNumber[], string] { + getABIDecodedReturnData( + returnData: string, + ): [ + string, + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + BigNumber[], + string[] + ] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeZeroExTransactionData(bytes)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - [string, string, BigNumber[], BigNumber[], string] + [ + string, + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + BigNumber[], + string[] + ] >(returnData); return abiDecodedReturnData; }, @@ -2037,27 +1957,38 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeERC1155AssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('decodeZeroExTransactionData(bytes)'); return abiEncoder.getSelector(); }, }; /** - * Batch fetches ETH balances + * Encode ERC-1155 asset data into the format described in the AssetProxy contract specification. */ - public getEthBalances = { + public encodeERC1155AssetData = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param addresses Array of addresses. - * @returns Array of ETH balances. + * @param tokenAddress The address of the ERC-1155 contract hosting the + * asset(s) to be traded. + * @param tokenIds The identifiers of the specific assets to be traded. + * @param tokenValues The amounts of each asset to be traded. + * @param callbackData Data to be passed to receiving contracts when a transfer + * is performed. + * @returns AssetProxy-compliant asset data describing the set of assets. */ async callAsync( - addresses: string[], + tokenAddress: string, + tokenIds: BigNumber[], + tokenValues: BigNumber[], + callbackData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isArray('addresses', addresses); + ): Promise { + assert.isString('tokenAddress', tokenAddress); + assert.isArray('tokenIds', tokenIds); + assert.isArray('tokenValues', tokenValues); + assert.isString('callbackData', callbackData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2067,29 +1998,24 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), + const encodedData = self._strictEncodeArguments( + 'encodeERC1155AssetData(address,uint256[],uint256[],bytes)', + [tokenAddress.toLowerCase(), tokenIds, tokenValues, callbackData], ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + let rawCallResult; try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + rawCallResult = await self.evmExecAsync(encodedDataBytes); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); + + const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2097,25 +2023,41 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param addresses Array of addresses. + * @param tokenAddress The address of the ERC-1155 contract hosting the + * asset(s) to be traded. + * @param tokenIds The identifiers of the specific assets to be traded. + * @param tokenValues The amounts of each asset to be traded. + * @param callbackData Data to be passed to receiving contracts when a transfer + * is performed. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(addresses: string[]): string { - assert.isArray('addresses', addresses); + getABIEncodedTransactionData( + tokenAddress: string, + tokenIds: BigNumber[], + tokenValues: BigNumber[], + callbackData: string, + ): string { + assert.isString('tokenAddress', tokenAddress); + assert.isArray('tokenIds', tokenIds); + assert.isArray('tokenValues', tokenValues); + assert.isString('callbackData', callbackData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); - return abiEncodedTransactionData; - }, + const abiEncodedTransactionData = self._strictEncodeArguments( + 'encodeERC1155AssetData(address,uint256[],uint256[],bytes)', + [tokenAddress.toLowerCase(), tokenIds, tokenValues, callbackData], + ); + return abiEncodedTransactionData; + }, /** * Decode the ABI-encoded transaction data into its input arguments * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string[] { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); + const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -2123,11 +2065,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber[] { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); + const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2135,251 +2077,333 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); + const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); return abiEncoder.getSelector(); }, }; /** - * Simulates all of the transfers for each given order and returns the indices of each first failed transfer. + * Encode ERC-20 asset data into the format described in the AssetProxy contract specification. */ - public getSimulatedOrdersTransferResults = { + public encodeERC20AssetData = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param orders Array of orders to individually simulate transfers for. - * @param takerAddresses Array of addresses of takers that will fill each - * order. - * @param takerAssetFillAmounts Array of amounts of takerAsset that will be - * filled for each order. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param tokenAddress The address of the ERC-20 contract hosting the asset to + * be traded. + * @returns AssetProxy-compliant data describing the asset. */ - async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAddresses: string[], - takerAssetFillAmounts: BigNumber[], - txData?: Partial | undefined, + async callAsync( + tokenAddress: string, + callData: Partial = {}, + defaultBlock?: BlockParam, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAddresses', takerAddresses); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isString('tokenAddress', tokenAddress); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments( - 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', - [orders, takerAddresses, takerAssetFillAmounts], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + const encodedData = self._strictEncodeArguments('encodeERC20AssetData(address)', [ + tokenAddress.toLowerCase(), + ]); + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + + let rawCallResult; + try { + rawCallResult = await self.evmExecAsync(encodedDataBytes); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + const abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; }, /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param orders Array of orders to individually simulate transfers for. - * @param takerAddresses Array of addresses of takers that will fill each - * order. - * @param takerAssetFillAmounts Array of amounts of takerAsset that will be - * filled for each order. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param tokenAddress The address of the ERC-20 contract hosting the asset to + * be traded. + * @returns The ABI encoded transaction data as a string */ - awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAddresses: string[], - takerAssetFillAmounts: BigNumber[], - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAddresses', takerAddresses); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + getABIEncodedTransactionData(tokenAddress: string): string { + assert.isString('tokenAddress', tokenAddress); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('encodeERC20AssetData(address)', [ + tokenAddress.toLowerCase(), + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('encodeERC20AssetData(address)'); + return abiEncoder.getSelector(); + }, + }; + /** + * Encode ERC-721 asset data into the format described in the AssetProxy specification. + */ + public encodeERC721AssetData = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param tokenAddress The address of the ERC-721 contract hosting the asset to + * be traded. + * @param tokenId The identifier of the specific asset to be traded. + * @returns AssetProxy-compliant asset data describing the asset. + */ + async callAsync( + tokenAddress: string, + tokenId: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('tokenAddress', tokenAddress); + assert.isBigNumber('tokenId', tokenId); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as DevUtilsContract; + const encodedData = self._strictEncodeArguments('encodeERC721AssetData(address,uint256)', [ + tokenAddress.toLowerCase(), + tokenId, + ]); + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + + let rawCallResult; + try { + rawCallResult = await self.evmExecAsync(encodedDataBytes); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + + const abiEncoder = self._lookupAbiEncoder('encodeERC721AssetData(address,uint256)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param tokenAddress The address of the ERC-721 contract hosting the asset to + * be traded. + * @param tokenId The identifier of the specific asset to be traded. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(tokenAddress: string, tokenId: BigNumber): string { + assert.isString('tokenAddress', tokenAddress); + assert.isBigNumber('tokenId', tokenId); + const self = (this as any) as DevUtilsContract; + const abiEncodedTransactionData = self._strictEncodeArguments('encodeERC721AssetData(address,uint256)', [ + tokenAddress.toLowerCase(), + tokenId, + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('encodeERC721AssetData(address,uint256)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('encodeERC721AssetData(address,uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('encodeERC721AssetData(address,uint256)'); + return abiEncoder.getSelector(); + }, + }; + /** + * Encode data for multiple assets, per the AssetProxy contract specification. + */ + public encodeMultiAssetData = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param amounts The amounts of each asset to be traded. + * @param nestedAssetData AssetProxy-compliant data describing each asset to be + * traded. + * @returns AssetProxy-compliant data describing the set of assets. + */ + async callAsync( + amounts: BigNumber[], + nestedAssetData: string[], + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isArray('amounts', amounts); + assert.isArray('nestedAssetData', nestedAssetData); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as DevUtilsContract; + const encodedData = self._strictEncodeArguments('encodeMultiAssetData(uint256[],bytes[])', [ + amounts, + nestedAssetData, + ]); + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + + let rawCallResult; + try { + rawCallResult = await self.evmExecAsync(encodedDataBytes); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + + const abiEncoder = self._lookupAbiEncoder('encodeMultiAssetData(uint256[],bytes[])'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param amounts The amounts of each asset to be traded. + * @param nestedAssetData AssetProxy-compliant data describing each asset to be + * traded. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(amounts: BigNumber[], nestedAssetData: string[]): string { + assert.isArray('amounts', amounts); + assert.isArray('nestedAssetData', nestedAssetData); const self = (this as any) as DevUtilsContract; - const txHashPromise = self.getSimulatedOrdersTransferResults.sendTransactionAsync( - orders, - takerAddresses, - takerAssetFillAmounts, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const abiEncodedTransactionData = self._strictEncodeArguments('encodeMultiAssetData(uint256[],bytes[])', [ + amounts, + nestedAssetData, + ]); + return abiEncodedTransactionData; }, /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param orders Array of orders to individually simulate transfers for. - * @param takerAddresses Array of addresses of takers that will fill each - * order. - * @param takerAssetFillAmounts Array of amounts of takerAsset that will be - * filled for each order. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAddresses: string[], - takerAssetFillAmounts: BigNumber[], - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAddresses', takerAddresses); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + getABIDecodedTransactionData(callData: string): BigNumber[] { const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments( - 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', - [orders, takerAddresses, takerAssetFillAmounts], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + const abiEncoder = self._lookupAbiEncoder('encodeMultiAssetData(uint256[],bytes[])'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; }, - async validateAndSendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAddresses: string[], - takerAssetFillAmounts: BigNumber[], - txData?: Partial | undefined, - ): Promise { - await (this as any).getSimulatedOrdersTransferResults.callAsync( - orders, - takerAddresses, - takerAssetFillAmounts, - txData, - ); - const txHash = await (this as any).getSimulatedOrdersTransferResults.sendTransactionAsync( - orders, - takerAddresses, - takerAssetFillAmounts, - txData, - ); - return txHash; + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('encodeMultiAssetData(uint256[],bytes[])'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('encodeMultiAssetData(uint256[],bytes[])'); + return abiEncoder.getSelector(); }, + }; + /** + * Returns the number of asset(s) (described by assetData) that the corresponding AssetProxy contract is authorized to spend. When the asset data contains multiple assets (eg for Multi-Asset), the return value indicates how many complete "baskets" of those assets may be spent by all of the corresponding AssetProxy contracts. + */ + public getAssetProxyAllowance = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param orders Array of orders to individually simulate transfers for. - * @param takerAddresses Array of addresses of takers that will fill each - * order. - * @param takerAssetFillAmounts Array of amounts of takerAsset that will be - * filled for each order. - * @returns The indices of the first failed transfer (or 4 if all transfers are successful) for each order. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Details of asset, encoded per the AssetProxy contract + * specification. + * @returns Number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. */ async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAddresses: string[], - takerAssetFillAmounts: BigNumber[], + ownerAddress: string, + assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAddresses', takerAddresses); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + ): Promise { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2389,10 +2413,10 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments( - 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', - [orders, takerAddresses, takerAssetFillAmounts], - ); + const encodedData = self._strictEncodeArguments('getAssetProxyAllowance(address,bytes)', [ + ownerAddress.toLowerCase(), + assetData, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -2412,11 +2436,9 @@ export class DevUtilsContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', - ); + const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2424,89 +2446,31 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param orders Array of orders to individually simulate transfers for. - * @param takerAddresses Array of addresses of takers that will fill each - * order. - * @param takerAssetFillAmounts Array of amounts of takerAsset that will be - * filled for each order. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Details of asset, encoded per the AssetProxy contract + * specification. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAddresses: string[], - takerAssetFillAmounts: BigNumber[], - ): string { - assert.isArray('orders', orders); - assert.isArray('takerAddresses', takerAddresses); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', - [orders, takerAddresses, takerAssetFillAmounts], - ); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData( - callData: string, - ): Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> { + getABIEncodedTransactionData(ownerAddress: string, assetData: string): string { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder( - 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', - ); + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxyAllowance(address,bytes)', [ + ownerAddress.toLowerCase(), + assetData, + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as DevUtilsContract; + const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -2514,13 +2478,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): number[] { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder( - 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', - ); + const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2528,33 +2490,31 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder( - 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', - ); + const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); return abiEncoder.getSelector(); }, }; /** - * Encode ERC-721 asset data into the format described in the AssetProxy specification. + * Returns the owner's balance of the assets(s) specified in assetData. When the asset data contains multiple assets (eg in ERC1155 or Multi-Asset), the return value indicates how many complete "baskets" of those assets are owned by owner. */ - public encodeERC721AssetData = { + public getBalance = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param tokenAddress The address of the ERC-721 contract hosting the asset to - * be traded. - * @param tokenId The identifier of the specific asset to be traded. - * @returns AssetProxy-compliant asset data describing the asset. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Details of asset, encoded per the AssetProxy contract + * specification. + * @returns Number of assets (or asset baskets) held by owner. */ async callAsync( - tokenAddress: string, - tokenId: BigNumber, + ownerAddress: string, + assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('tokenAddress', tokenAddress); - assert.isBigNumber('tokenId', tokenId); + ): Promise { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2564,24 +2524,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('encodeERC721AssetData(address,uint256)', [ - tokenAddress.toLowerCase(), - tokenId, + const encodedData = self._strictEncodeArguments('getBalance(address,bytes)', [ + ownerAddress.toLowerCase(), + assetData, ]); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; let rawCallResult; try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('encodeERC721AssetData(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('getBalance(address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2589,18 +2557,18 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param tokenAddress The address of the ERC-721 contract hosting the asset to - * be traded. - * @param tokenId The identifier of the specific asset to be traded. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Details of asset, encoded per the AssetProxy contract + * specification. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(tokenAddress: string, tokenId: BigNumber): string { - assert.isString('tokenAddress', tokenAddress); - assert.isBigNumber('tokenId', tokenId); + getABIEncodedTransactionData(ownerAddress: string, assetData: string): string { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('encodeERC721AssetData(address,uint256)', [ - tokenAddress.toLowerCase(), - tokenId, + const abiEncodedTransactionData = self._strictEncodeArguments('getBalance(address,bytes)', [ + ownerAddress.toLowerCase(), + assetData, ]); return abiEncodedTransactionData; }, @@ -2611,7 +2579,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC721AssetData(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('getBalance(address,bytes)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -2621,11 +2589,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC721AssetData(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('getBalance(address,bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2633,27 +2601,31 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC721AssetData(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('getBalance(address,bytes)'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded SignatureValidatorError. + * Calls getBalance() and getAllowance() for assetData. */ - public decodeEIP1271SignatureError = { + public getBalanceAndAssetProxyAllowance = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param encoded ABI-encoded revert error. - * @returns signerAddress The expected signer of the hash.signature The full signature bytes.errorData The revert data thrown by the validator contract. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Details of asset, encoded per the AssetProxy contract + * specification. + * @returns Number of assets (or asset baskets) held by owner, and number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. */ async callAsync( - encoded: string, + ownerAddress: string, + assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string, string, string]> { - assert.isString('encoded', encoded); + ): Promise<[BigNumber, BigNumber]> { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2663,21 +2635,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeEIP1271SignatureError(bytes)', [encoded]); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - + const encodedData = self._strictEncodeArguments('getBalanceAndAssetProxyAllowance(address,bytes)', [ + ownerAddress.toLowerCase(), + assetData, + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; let rawCallResult; try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2685,15 +2668,19 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param encoded ABI-encoded revert error. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Details of asset, encoded per the AssetProxy contract + * specification. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); + getABIEncodedTransactionData(ownerAddress: string, assetData: string): string { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeEIP1271SignatureError(bytes)', [ - encoded, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getBalanceAndAssetProxyAllowance(address,bytes)', + [ownerAddress.toLowerCase(), assetData], + ); return abiEncodedTransactionData; }, /** @@ -2701,11 +2688,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): [string, string] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string]>(callData); return abiDecodedCallData; }, /** @@ -2713,13 +2700,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string, string, string] { + getABIDecodedReturnData(returnData: string): [BigNumber, BigNumber] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string, string, string]>( - returnData, - ); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber]>(returnData); return abiDecodedReturnData; }, /** @@ -2727,38 +2712,31 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeEIP1271SignatureError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBalanceAndAssetProxyAllowance(address,bytes)'); return abiEncoder.getSelector(); }, }; /** - * Encode ERC-1155 asset data into the format described in the AssetProxy contract specification. + * Calls getAssetProxyAllowance() for each element of assetData. */ - public encodeERC1155AssetData = { + public getBatchAssetProxyAllowances = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param tokenAddress The address of the ERC-1155 contract hosting the - * asset(s) to be traded. - * @param tokenIds The identifiers of the specific assets to be traded. - * @param tokenValues The amounts of each asset to be traded. - * @param callbackData Data to be passed to receiving contracts when a transfer - * is performed. - * @returns AssetProxy-compliant asset data describing the set of assets. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. + * @returns An array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. */ async callAsync( - tokenAddress: string, - tokenIds: BigNumber[], - tokenValues: BigNumber[], - callbackData: string, + ownerAddress: string, + assetData: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('tokenAddress', tokenAddress); - assert.isArray('tokenIds', tokenIds); - assert.isArray('tokenValues', tokenValues); - assert.isString('callbackData', callbackData); + ): Promise { + assert.isString('ownerAddress', ownerAddress); + assert.isArray('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2768,24 +2746,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments( - 'encodeERC1155AssetData(address,uint256[],uint256[],bytes)', - [tokenAddress.toLowerCase(), tokenIds, tokenValues, callbackData], + const encodedData = self._strictEncodeArguments('getBatchAssetProxyAllowances(address,bytes[])', [ + ownerAddress.toLowerCase(), + assetData, + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), ); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; let rawCallResult; try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2793,28 +2779,18 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param tokenAddress The address of the ERC-1155 contract hosting the - * asset(s) to be traded. - * @param tokenIds The identifiers of the specific assets to be traded. - * @param tokenValues The amounts of each asset to be traded. - * @param callbackData Data to be passed to receiving contracts when a transfer - * is performed. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - tokenAddress: string, - tokenIds: BigNumber[], - tokenValues: BigNumber[], - callbackData: string, - ): string { - assert.isString('tokenAddress', tokenAddress); - assert.isArray('tokenIds', tokenIds); - assert.isArray('tokenValues', tokenValues); - assert.isString('callbackData', callbackData); + getABIEncodedTransactionData(ownerAddress: string, assetData: string[]): string { + assert.isString('ownerAddress', ownerAddress); + assert.isArray('assetData', assetData); const self = (this as any) as DevUtilsContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'encodeERC1155AssetData(address,uint256[],uint256[],bytes)', - [tokenAddress.toLowerCase(), tokenIds, tokenValues, callbackData], + 'getBatchAssetProxyAllowances(address,bytes[])', + [ownerAddress.toLowerCase(), assetData], ); return abiEncodedTransactionData; }, @@ -2825,7 +2801,7 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -2835,11 +2811,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): BigNumber[] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2847,27 +2823,31 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeERC1155AssetData(address,uint256[],uint256[],bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchAssetProxyAllowances(address,bytes[])'); return abiEncoder.getSelector(); }, }; /** - * Decode multi-asset data from the format described in the AssetProxy contract specification. + * Calls getBalance() for each element of assetData. */ - public decodeMultiAssetData = { + public getBatchBalances = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param assetData AssetProxy-compliant data describing a multi-asset basket. - * @returns The Multi-Asset AssetProxy identifier, an array of the amounts of the assets to be traded, and an array of the AssetProxy-compliant data describing each asset to be traded. Each element of the arrays corresponds to the same-indexed element of the other array. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. + * @returns Array of asset balances from getBalance(), with each element corresponding to the same-indexed element in the assetData input. */ async callAsync( - assetData: string, + ownerAddress: string, + assetData: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, BigNumber[], string[]]> { - assert.isString('assetData', assetData); + ): Promise { + assert.isString('ownerAddress', ownerAddress); + assert.isArray('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2877,21 +2857,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeMultiAssetData(bytes)', [assetData]); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - + const encodedData = self._strictEncodeArguments('getBatchBalances(address,bytes[])', [ + ownerAddress.toLowerCase(), + assetData, + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; let rawCallResult; try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, BigNumber[], string[]]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2899,13 +2890,19 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param assetData AssetProxy-compliant data describing a multi-asset basket. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(assetData: string): string { - assert.isString('assetData', assetData); + getABIEncodedTransactionData(ownerAddress: string, assetData: string[]): string { + assert.isString('ownerAddress', ownerAddress); + assert.isArray('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeMultiAssetData(bytes)', [assetData]); + const abiEncodedTransactionData = self._strictEncodeArguments('getBatchBalances(address,bytes[])', [ + ownerAddress.toLowerCase(), + assetData, + ]); return abiEncodedTransactionData; }, /** @@ -2913,11 +2910,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -2925,13 +2922,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, BigNumber[], string[]] { + getABIDecodedReturnData(returnData: string): BigNumber[] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, BigNumber[], string[]]>( - returnData, - ); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2939,27 +2934,31 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeMultiAssetData(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded TransactionExecutionError. + * Calls getBatchBalances() and getBatchAllowances() for each element of assetData. */ - public decodeTransactionExecutionError = { + public getBatchBalancesAndAssetProxyAllowances = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param encoded ABI-encoded revert error. - * @returns transactionHash Hash of the transaction.errorData Error thrown by exeucteTransaction(). + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. + * @returns An array of asset balances from getBalance(), and an array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. */ async callAsync( - encoded: string, + ownerAddress: string, + assetData: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[string, string]> { - assert.isString('encoded', encoded); + ): Promise<[BigNumber[], BigNumber[]]> { + assert.isString('ownerAddress', ownerAddress); + assert.isArray('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2969,21 +2968,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeTransactionExecutionError(bytes)', [encoded]); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - + const encodedData = self._strictEncodeArguments( + 'getBatchBalancesAndAssetProxyAllowances(address,bytes[])', + [ownerAddress.toLowerCase(), assetData], + ); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; let rawCallResult; try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalancesAndAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -2991,15 +3001,19 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param encoded ABI-encoded revert error. + * @param ownerAddress Owner of the assets specified by assetData. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); + getABIEncodedTransactionData(ownerAddress: string, assetData: string[]): string { + assert.isString('ownerAddress', ownerAddress); + assert.isArray('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeTransactionExecutionError(bytes)', [ - encoded, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getBatchBalancesAndAssetProxyAllowances(address,bytes[])', + [ownerAddress.toLowerCase(), assetData], + ); return abiEncodedTransactionData; }, /** @@ -3007,11 +3021,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): [string, string[]] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalancesAndAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string[]]>(callData); return abiDecodedCallData; }, /** @@ -3019,11 +3033,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [string, string] { + getABIDecodedReturnData(returnData: string): [BigNumber[], BigNumber[]] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalancesAndAssetProxyAllowances(address,bytes[])'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]]>(returnData); return abiDecodedReturnData; }, /** @@ -3031,27 +3045,27 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeTransactionExecutionError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getBatchBalancesAndAssetProxyAllowances(address,bytes[])'); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded TransactionError. + * Batch fetches ETH balances */ - public decodeTransactionError = { + public getEthBalances = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param encoded ABI-encoded revert error. - * @returns errorCode The error code.transactionHash Hash of the transaction. + * @param addresses Array of addresses. + * @returns Array of ETH balances. */ async callAsync( - encoded: string, + addresses: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[number, string]> { - assert.isString('encoded', encoded); + ): Promise { + assert.isArray('addresses', addresses); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3061,21 +3075,29 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeTransactionError(bytes)', [encoded]); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - + const encodedData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; let rawCallResult; try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -3083,13 +3105,13 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param encoded ABI-encoded revert error. + * @param addresses Array of addresses. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); + getABIEncodedTransactionData(addresses: string[]): string { + assert.isArray('addresses', addresses); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeTransactionError(bytes)', [encoded]); + const abiEncodedTransactionData = self._strictEncodeArguments('getEthBalances(address[])', [addresses]); return abiEncodedTransactionData; }, /** @@ -3097,11 +3119,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): string[] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -3109,11 +3131,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [number, string] { + getABIDecodedReturnData(returnData: string): BigNumber[] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -3121,31 +3143,48 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeTransactionError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getEthBalances(address[])'); return abiEncoder.getSelector(); }, }; /** - * Calls getBalance() for each element of assetData. + * Fetches all order-relevant information needed to validate if the supplied order is fillable. */ - public getBatchBalances = { + public getOrderRelevantState = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @returns Array of asset balances from getBalance(), with each element corresponding to the same-indexed element in the assetData input. + * @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. + * @returns 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. */ async callAsync( - ownerAddress: string, - assetData: string[], + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('ownerAddress', ownerAddress); - assert.isArray('assetData', assetData); + ): Promise< + [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] + > { + assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3155,10 +3194,10 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('getBatchBalances(address,bytes[])', [ - ownerAddress.toLowerCase(), - assetData, - ]); + const encodedData = self._strictEncodeArguments( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + [order, signature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3178,9 +3217,13 @@ export class DevUtilsContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] + >(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -3188,19 +3231,37 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. + * @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. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(ownerAddress: string, assetData: string[]): string { - assert.isString('ownerAddress', ownerAddress); - assert.isArray('assetData', assetData); + getABIEncodedTransactionData( + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + signature: string, + ): string { + assert.isString('signature', signature); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getBatchBalances(address,bytes[])', [ - ownerAddress.toLowerCase(), - assetData, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + [order, signature], + ); return abiEncodedTransactionData; }, /** @@ -3208,11 +3269,53 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData( + callData: string, + ): [ + { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + string + ] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode< + [ + { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + string + ] + >(callData); return abiDecodedCallData; }, /** @@ -3220,11 +3323,17 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber[] { + getABIDecodedReturnData( + returnData: string, + ): [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] + >(returnData); return abiDecodedReturnData; }, /** @@ -3232,31 +3341,55 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchBalances(address,bytes[])'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + ); return abiEncoder.getSelector(); }, }; /** - * Returns the number of asset(s) (described by assetData) that the corresponding AssetProxy contract is authorized to spend. When the asset data contains multiple assets (eg for Multi-Asset), the return value indicates how many complete "baskets" of those assets may be spent by all of the corresponding AssetProxy contracts. + * Fetches all order-relevant information needed to validate if the supplied orders are fillable. */ - public getAssetProxyAllowance = { + public getOrderRelevantStates = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Details of asset, encoded per the AssetProxy contract - * specification. - * @returns Number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. + * @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. + * @returns 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. */ async callAsync( - ownerAddress: string, - assetData: string, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('ownerAddress', ownerAddress); - assert.isString('assetData', assetData); + ): Promise< + [ + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, + BigNumber[], + boolean[] + ] + > { + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3266,10 +3399,10 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('getAssetProxyAllowance(address,bytes)', [ - ownerAddress.toLowerCase(), - assetData, - ]); + const encodedData = self._strictEncodeArguments( + 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', + [orders, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3289,9 +3422,17 @@ export class DevUtilsContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + [ + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, + BigNumber[], + boolean[] + ] + >(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -3299,19 +3440,38 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Details of asset, encoded per the AssetProxy contract - * specification. + * @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. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(ownerAddress: string, assetData: string): string { - assert.isString('ownerAddress', ownerAddress); - assert.isString('assetData', assetData); + getABIEncodedTransactionData( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + signatures: string[], + ): string { + assert.isArray('orders', orders); + assert.isArray('signatures', signatures); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxyAllowance(address,bytes)', [ - ownerAddress.toLowerCase(), - assetData, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', + [orders, signatures], + ); return abiEncodedTransactionData; }, /** @@ -3319,11 +3479,53 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData( + callData: string, + ): [ + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + string[] + ] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', + ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode< + [ + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + string[] + ] + >(callData); return abiDecodedCallData; }, /** @@ -3331,11 +3533,25 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData( + returnData: string, + ): [ + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, + BigNumber[], + boolean[] + ] { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', + ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + [ + Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, + BigNumber[], + boolean[] + ] + >(returnData); return abiDecodedReturnData; }, /** @@ -3343,7 +3559,9 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getAssetProxyAllowance(address,bytes)'); + const abiEncoder = self._lookupAbiEncoder( + 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', + ); return abiEncoder.getSelector(); }, }; @@ -3731,123 +3949,21 @@ export class DevUtilsContract extends BaseContract { }, }; /** - * Encode data for multiple assets, per the AssetProxy contract specification. - */ - public encodeMultiAssetData = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param amounts The amounts of each asset to be traded. - * @param nestedAssetData AssetProxy-compliant data describing each asset to be - * traded. - * @returns AssetProxy-compliant data describing the set of assets. - */ - async callAsync( - amounts: BigNumber[], - nestedAssetData: string[], - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isArray('amounts', amounts); - assert.isArray('nestedAssetData', nestedAssetData); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('encodeMultiAssetData(uint256[],bytes[])', [ - amounts, - nestedAssetData, - ]); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - - let rawCallResult; - try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('encodeMultiAssetData(uint256[],bytes[])'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param amounts The amounts of each asset to be traded. - * @param nestedAssetData AssetProxy-compliant data describing each asset to be - * traded. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(amounts: BigNumber[], nestedAssetData: string[]): string { - assert.isArray('amounts', amounts); - assert.isArray('nestedAssetData', nestedAssetData); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('encodeMultiAssetData(uint256[],bytes[])', [ - amounts, - nestedAssetData, - ]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): BigNumber[] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeMultiAssetData(uint256[],bytes[])'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): string { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeMultiAssetData(uint256[],bytes[])'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('encodeMultiAssetData(uint256[],bytes[])'); - return abiEncoder.getSelector(); - }, - }; - /** - * Fetches all order-relevant information needed to validate if the supplied orders are fillable. + * Simulates all of the transfers for each given order and returns the indices of each first failed transfer. */ - public getOrderRelevantStates = { + public getSimulatedOrdersTransferResults = { /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @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. - * @returns 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. + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param orders Array of orders to individually simulate transfers for. + * @param takerAddresses Array of addresses of takers that will fill each + * order. + * @param takerAssetFillAmounts Array of amounts of takerAsset that will be + * filled for each order. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - async callAsync( + async sendTransactionAsync( orders: Array<{ makerAddress: string; takerAddress: string; @@ -3864,75 +3980,46 @@ export class DevUtilsContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - signatures: string[], - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise< - [ - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, - BigNumber[], - boolean[] - ] - > { + takerAddresses: string[], + takerAssetFillAmounts: BigNumber[], + txData?: Partial | undefined, + ): Promise { assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + assert.isArray('takerAddresses', takerAddresses); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); const self = (this as any) as DevUtilsContract; const encodedData = self._strictEncodeArguments( - 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', - [orders, signatures], + 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', + [orders, takerAddresses, takerAssetFillAmounts], ); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', - ); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [ - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, - BigNumber[], - boolean[] - ] - >(rawCallResult); - // tslint:enable boolean-naming - return result; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @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. - * @returns The ABI encoded transaction data as a string + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param orders Array of orders to individually simulate transfers for. + * @param takerAddresses Array of addresses of takers that will fill each + * order. + * @param takerAssetFillAmounts Array of amounts of takerAsset that will be + * filled for each order. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ - getABIEncodedTransactionData( + awaitTransactionSuccessAsync( orders: Array<{ makerAddress: string; takerAddress: string; @@ -3949,26 +4036,46 @@ export class DevUtilsContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - signatures: string[], - ): string { + takerAddresses: string[], + takerAssetFillAmounts: BigNumber[], + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { assert.isArray('orders', orders); - assert.isArray('signatures', signatures); + assert.isArray('takerAddresses', takerAddresses); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', - [orders, signatures], + const txHashPromise = self.getSimulatedOrdersTransferResults.sendTransactionAsync( + orders, + takerAddresses, + takerAssetFillAmounts, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), ); - return abiEncodedTransactionData; }, /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param orders Array of orders to individually simulate transfers for. + * @param takerAddresses Array of addresses of takers that will fill each + * order. + * @param takerAssetFillAmounts Array of amounts of takerAsset that will be + * filled for each order. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - getABIDecodedTransactionData( - callData: string, - ): [ - Array<{ + async estimateGasAsync( + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -3984,200 +4091,81 @@ export class DevUtilsContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - string[] - ] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder( - 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', - ); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - [ - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - string[] - ] - >(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData( - returnData: string, - ): [ - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, - BigNumber[], - boolean[] - ] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder( - 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', - ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - [ - Array<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }>, - BigNumber[], - boolean[] - ] - >(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder( - 'getOrderRelevantStates((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[])', - ); - return abiEncoder.getSelector(); - }, - }; - /** - * Calls getBatchBalances() and getBatchAllowances() for each element of assetData. - */ - public getBatchBalancesAndAssetProxyAllowances = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @returns An array of asset balances from getBalance(), and an array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. - */ - async callAsync( - ownerAddress: string, - assetData: string[], - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[BigNumber[], BigNumber[]]> { - assert.isString('ownerAddress', ownerAddress); - assert.isArray('assetData', assetData); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + takerAddresses: string[], + takerAssetFillAmounts: BigNumber[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('orders', orders); + assert.isArray('takerAddresses', takerAddresses); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); const self = (this as any) as DevUtilsContract; const encodedData = self._strictEncodeArguments( - 'getBatchBalancesAndAssetProxyAllowances(address,bytes[])', - [ownerAddress.toLowerCase(), assetData], + 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', + [orders, takerAddresses, takerAssetFillAmounts], ); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getBatchBalancesAndAssetProxyAllowances(address,bytes[])'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]]>(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param ownerAddress Owner of the assets specified by assetData. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(ownerAddress: string, assetData: string[]): string { - assert.isString('ownerAddress', ownerAddress); - assert.isArray('assetData', assetData); - const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getBatchBalancesAndAssetProxyAllowances(address,bytes[])', - [ownerAddress.toLowerCase(), assetData], - ); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): [string, string[]] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchBalancesAndAssetProxyAllowances(address,bytes[])'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string[]]>(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): [BigNumber[], BigNumber[]] { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchBalancesAndAssetProxyAllowances(address,bytes[])'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber[], BigNumber[]]>(returnData); - return abiDecodedReturnData; + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('getBatchBalancesAndAssetProxyAllowances(address,bytes[])'); - return abiEncoder.getSelector(); + async validateAndSendTransactionAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAddresses: string[], + takerAssetFillAmounts: BigNumber[], + txData?: Partial | undefined, + ): Promise { + await (this as any).getSimulatedOrdersTransferResults.callAsync( + orders, + takerAddresses, + takerAssetFillAmounts, + txData, + ); + const txHash = await (this as any).getSimulatedOrdersTransferResults.sendTransactionAsync( + orders, + takerAddresses, + takerAssetFillAmounts, + txData, + ); + return txHash; }, - }; - /** - * Fetches all order-relevant information needed to validate if the supplied order is fillable. - */ - public getOrderRelevantState = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @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. - * @returns 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. + * @param orders Array of orders to individually simulate transfers for. + * @param takerAddresses Array of addresses of takers that will fill each + * order. + * @param takerAssetFillAmounts Array of amounts of takerAsset that will be + * filled for each order. + * @returns The indices of the first failed transfer (or 4 if all transfers are successful) for each order. */ async callAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4192,14 +4180,15 @@ export class DevUtilsContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - signature: string, + }>, + takerAddresses: string[], + takerAssetFillAmounts: BigNumber[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] - > { - assert.isString('signature', signature); + ): Promise { + assert.isArray('orders', orders); + assert.isArray('takerAddresses', takerAddresses); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4210,8 +4199,8 @@ export class DevUtilsContract extends BaseContract { } const self = (this as any) as DevUtilsContract; const encodedData = self._strictEncodeArguments( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', - [order, signature], + 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', + [orders, takerAddresses, takerAssetFillAmounts], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4233,12 +4222,10 @@ export class DevUtilsContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -4246,14 +4233,15 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @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. + * @param orders Array of orders to individually simulate transfers for. + * @param takerAddresses Array of addresses of takers that will fill each + * order. + * @param takerAssetFillAmounts Array of amounts of takerAsset that will be + * filled for each order. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4268,14 +4256,17 @@ export class DevUtilsContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - signature: string, + }>, + takerAddresses: string[], + takerAssetFillAmounts: BigNumber[], ): string { - assert.isString('signature', signature); + assert.isArray('orders', orders); + assert.isArray('takerAddresses', takerAddresses); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); const self = (this as any) as DevUtilsContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', - [order, signature], + 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', + [orders, takerAddresses, takerAssetFillAmounts], ); return abiEncodedTransactionData; }, @@ -4286,50 +4277,44 @@ export class DevUtilsContract extends BaseContract { */ getABIDecodedTransactionData( callData: string, - ): [ - { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - string - ] { + ): Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> { const self = (this as any) as DevUtilsContract; const abiEncoder = self._lookupAbiEncoder( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', ); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode< - [ - { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - string - ] + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> >(callData); return abiDecodedCallData; }, @@ -4338,17 +4323,13 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData( - returnData: string, - ): [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] { + getABIDecodedReturnData(returnData: string): number[] { const self = (this as any) as DevUtilsContract; const abiEncoder = self._lookupAbiEncoder( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - [{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }, BigNumber, boolean] - >(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -4357,28 +4338,32 @@ export class DevUtilsContract extends BaseContract { getSelector(): string { const self = (this as any) as DevUtilsContract; const abiEncoder = self._lookupAbiEncoder( - 'getOrderRelevantState((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + 'getSimulatedOrdersTransferResults((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],address[],uint256[])', ); return abiEncoder.getSelector(); }, }; /** - * Decompose an ABI-encoded OrderStatusError. + * Gets the amount of an asset transferable by the owner. */ - public decodeExchangeInvalidContextError = { + public getTransferableAssetAmount = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param encoded ABI-encoded revert error. - * @returns errorCode Error code that corresponds to invalid maker, taker, or sender.orderHash The order hash.contextAddress The maker, taker, or sender address + * @param ownerAddress Address of the owner of the asset. + * @param assetData Description of tokens, per the AssetProxy contract + * specification. + * @returns 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`. */ async callAsync( - encoded: string, + ownerAddress: string, + assetData: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<[number, string, string]> { - assert.isString('encoded', encoded); + ): Promise { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4388,21 +4373,32 @@ export class DevUtilsContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DevUtilsContract; - const encodedData = self._strictEncodeArguments('decodeExchangeInvalidContextError(bytes)', [encoded]); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - + const encodedData = self._strictEncodeArguments('getTransferableAssetAmount(address,bytes)', [ + ownerAddress.toLowerCase(), + assetData, + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; let rawCallResult; try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[number, string, string]>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -4410,14 +4406,18 @@ export class DevUtilsContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param encoded ABI-encoded revert error. + * @param ownerAddress Address of the owner of the asset. + * @param assetData Description of tokens, per the AssetProxy contract + * specification. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(encoded: string): string { - assert.isString('encoded', encoded); + getABIEncodedTransactionData(ownerAddress: string, assetData: string): string { + assert.isString('ownerAddress', ownerAddress); + assert.isString('assetData', assetData); const self = (this as any) as DevUtilsContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decodeExchangeInvalidContextError(bytes)', [ - encoded, + const abiEncodedTransactionData = self._strictEncodeArguments('getTransferableAssetAmount(address,bytes)', [ + ownerAddress.toLowerCase(), + assetData, ]); return abiEncodedTransactionData; }, @@ -4426,11 +4426,11 @@ export class DevUtilsContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -4438,11 +4438,11 @@ export class DevUtilsContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [number, string, string] { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[number, string, string]>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -4450,7 +4450,7 @@ export class DevUtilsContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DevUtilsContract; - const abiEncoder = self._lookupAbiEncoder('decodeExchangeInvalidContextError(bytes)'); + const abiEncoder = self._lookupAbiEncoder('getTransferableAssetAmount(address,bytes)'); return abiEncoder.getSelector(); }, }; @@ -4536,6 +4536,18 @@ export class DevUtilsContract extends BaseContract { */ public static ABI(): ContractAbi { const abi = [ + { + inputs: [ + { + name: '_exchange', + type: 'address', + }, + ], + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'constructor', + }, { constant: true, inputs: [ @@ -4544,15 +4556,19 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeOrderStatusError', + name: 'decodeAssetProxyDispatchError', outputs: [ + { + name: 'errorCode', + type: 'uint8', + }, { name: 'orderHash', type: 'bytes32', }, { - name: 'orderStatus', - type: 'uint8', + name: 'assetData', + type: 'bytes', }, ], payable: false, @@ -4563,24 +4579,20 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'assetData', + name: 'encoded', type: 'bytes', }, ], - name: 'decodeERC721AssetData', + name: 'decodeAssetProxyExistsError', outputs: [ { name: 'assetProxyId', type: 'bytes4', }, { - name: 'tokenAddress', + name: 'assetProxyAddress', type: 'address', }, - { - name: 'tokenId', - type: 'uint256', - }, ], payable: false, stateMutability: 'pure', @@ -4590,27 +4602,27 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'ownerAddress', - type: 'address', - }, - { - name: 'assetData', + name: 'encoded', type: 'bytes', }, ], - name: 'getBalanceAndAssetProxyAllowance', + name: 'decodeAssetProxyTransferError', outputs: [ { - name: 'balance', - type: 'uint256', + name: 'orderHash', + type: 'bytes32', }, { - name: 'allowance', - type: 'uint256', + name: 'assetData', + type: 'bytes', + }, + { + name: 'errorData', + type: 'bytes', }, ], payable: false, - stateMutability: 'view', + stateMutability: 'pure', type: 'function', }, { @@ -4621,19 +4633,23 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeIncompleteFillError', + name: 'decodeEIP1271SignatureError', outputs: [ { - name: 'errorCode', - type: 'uint8', + name: 'verifyingContractAddress', + type: 'address', }, { - name: 'expectedAssetFillAmount', - type: 'uint256', + name: 'data', + type: 'bytes', }, { - name: 'actualAssetFillAmount', - type: 'uint256', + name: 'signature', + type: 'bytes', + }, + { + name: 'errorData', + type: 'bytes', }, ], payable: false, @@ -4643,47 +4659,55 @@ export class DevUtilsContract extends BaseContract { { constant: true, inputs: [ - { - name: 'ownerAddress', - type: 'address', - }, { name: 'assetData', type: 'bytes', }, ], - name: 'getTransferableAssetAmount', + name: 'decodeERC1155AssetData', outputs: [ { - name: 'transferableAssetAmount', - type: 'uint256', + name: 'assetProxyId', + type: 'bytes4', + }, + { + name: 'tokenAddress', + type: 'address', + }, + { + name: 'tokenIds', + type: 'uint256[]', + }, + { + name: 'tokenValues', + type: 'uint256[]', + }, + { + name: 'callbackData', + type: 'bytes', }, ], payable: false, - stateMutability: 'view', + stateMutability: 'pure', type: 'function', }, { constant: true, inputs: [ { - name: 'encoded', + name: 'assetData', type: 'bytes', }, ], - name: 'decodeAssetProxyTransferError', + name: 'decodeERC20AssetData', outputs: [ { - name: 'orderHash', - type: 'bytes32', - }, - { - name: 'assetData', - type: 'bytes', + name: 'assetProxyId', + type: 'bytes4', }, { - name: 'errorData', - type: 'bytes', + name: 'tokenAddress', + type: 'address', }, ], payable: false, @@ -4694,19 +4718,23 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'encoded', + name: 'assetData', type: 'bytes', }, ], - name: 'decodeNegativeSpreadError', + name: 'decodeERC721AssetData', outputs: [ { - name: 'leftOrderHash', - type: 'bytes32', + name: 'assetProxyId', + type: 'bytes4', }, { - name: 'rightOrderHash', - type: 'bytes32', + name: 'tokenAddress', + type: 'address', + }, + { + name: 'tokenId', + type: 'uint256', }, ], payable: false, @@ -4721,7 +4749,7 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeAssetProxyDispatchError', + name: 'decodeExchangeInvalidContextError', outputs: [ { name: 'errorCode', @@ -4732,8 +4760,8 @@ export class DevUtilsContract extends BaseContract { type: 'bytes32', }, { - name: 'assetData', - type: 'bytes', + name: 'contextAddress', + type: 'address', }, ], payable: false, @@ -4748,23 +4776,15 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeSignatureWalletError', + name: 'decodeFillError', outputs: [ { - name: 'hash', - type: 'bytes32', - }, - { - name: 'signerAddress', - type: 'address', - }, - { - name: 'signature', - type: 'bytes', + name: 'errorCode', + type: 'uint8', }, { - name: 'errorData', - type: 'bytes', + name: 'orderHash', + type: 'bytes32', }, ], payable: false, @@ -4779,15 +4799,19 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeFillError', + name: 'decodeIncompleteFillError', outputs: [ { name: 'errorCode', type: 'uint8', }, { - name: 'orderHash', - type: 'bytes32', + name: 'expectedAssetFillAmount', + type: 'uint256', + }, + { + name: 'actualAssetFillAmount', + type: 'uint256', }, ], payable: false, @@ -4797,39 +4821,47 @@ export class DevUtilsContract extends BaseContract { { constant: true, inputs: [ - { - name: 'ownerAddress', - type: 'address', - }, { name: 'assetData', - type: 'bytes[]', + type: 'bytes', }, ], - name: 'getBatchAssetProxyAllowances', + name: 'decodeMultiAssetData', outputs: [ { - name: 'allowances', + name: 'assetProxyId', + type: 'bytes4', + }, + { + name: 'amounts', type: 'uint256[]', }, + { + name: 'nestedAssetData', + type: 'bytes[]', + }, ], payable: false, - stateMutability: 'view', + stateMutability: 'pure', type: 'function', }, { constant: true, inputs: [ { - name: 'tokenAddress', - type: 'address', + name: 'encoded', + type: 'bytes', }, ], - name: 'encodeERC20AssetData', + name: 'decodeNegativeSpreadError', outputs: [ { - name: 'assetData', - type: 'bytes', + name: 'leftOrderHash', + type: 'bytes32', + }, + { + name: 'rightOrderHash', + type: 'bytes32', }, ], payable: false, @@ -4867,85 +4899,19 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'transactionData', + name: 'encoded', type: 'bytes', }, ], - name: 'decodeZeroExTransactionData', + name: 'decodeOrderStatusError', outputs: [ { - name: 'functionName', - type: 'string', - }, - { - name: 'orders', - type: 'tuple[]', - components: [ - { - name: 'makerAddress', - type: 'address', - }, - { - name: 'takerAddress', - type: 'address', - }, - { - name: 'feeRecipientAddress', - type: 'address', - }, - { - name: 'senderAddress', - type: 'address', - }, - { - name: 'makerAssetAmount', - type: 'uint256', - }, - { - name: 'takerAssetAmount', - type: 'uint256', - }, - { - name: 'makerFee', - type: 'uint256', - }, - { - name: 'takerFee', - type: 'uint256', - }, - { - name: 'expirationTimeSeconds', - type: 'uint256', - }, - { - name: 'salt', - type: 'uint256', - }, - { - name: 'makerAssetData', - type: 'bytes', - }, - { - name: 'takerAssetData', - type: 'bytes', - }, - { - name: 'makerFeeAssetData', - type: 'bytes', - }, - { - name: 'takerFeeAssetData', - type: 'bytes', - }, - ], - }, - { - name: 'takerAssetFillAmounts', - type: 'uint256[]', + name: 'orderHash', + type: 'bytes32', }, { - name: 'signatures', - type: 'bytes[]', + name: 'orderStatus', + type: 'uint8', }, ], payable: false, @@ -4960,16 +4926,24 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeAssetProxyExistsError', + name: 'decodeSignatureError', outputs: [ { - name: 'assetProxyId', - type: 'bytes4', + name: 'errorCode', + type: 'uint8', }, { - name: 'assetProxyAddress', + name: 'hash', + type: 'bytes32', + }, + { + name: 'signerAddress', type: 'address', }, + { + name: 'signature', + type: 'bytes', + }, ], payable: false, stateMutability: 'pure', @@ -5002,42 +4976,27 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'ownerAddress', - type: 'address', - }, - { - name: 'assetData', + name: 'encoded', type: 'bytes', }, ], - name: 'getBalance', + name: 'decodeSignatureWalletError', outputs: [ { - name: 'balance', - type: 'uint256', + name: 'hash', + type: 'bytes32', }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ { - name: 'assetData', - type: 'bytes', + name: 'signerAddress', + type: 'address', }, - ], - name: 'decodeERC20AssetData', - outputs: [ { - name: 'assetProxyId', - type: 'bytes4', + name: 'signature', + type: 'bytes', }, { - name: 'tokenAddress', - type: 'address', + name: 'errorData', + type: 'bytes', }, ], payable: false, @@ -5052,24 +5011,16 @@ export class DevUtilsContract extends BaseContract { type: 'bytes', }, ], - name: 'decodeSignatureError', + name: 'decodeTransactionError', outputs: [ { name: 'errorCode', type: 'uint8', }, { - name: 'hash', + name: 'transactionHash', type: 'bytes32', }, - { - name: 'signerAddress', - type: 'address', - }, - { - name: 'signature', - type: 'bytes', - }, ], payable: false, stateMutability: 'pure', @@ -5079,30 +5030,18 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'assetData', + name: 'encoded', type: 'bytes', }, ], - name: 'decodeERC1155AssetData', + name: 'decodeTransactionExecutionError', outputs: [ { - name: 'assetProxyId', - type: 'bytes4', - }, - { - name: 'tokenAddress', - type: 'address', - }, - { - name: 'tokenIds', - type: 'uint256[]', - }, - { - name: 'tokenValues', - type: 'uint256[]', + name: 'transactionHash', + type: 'bytes32', }, { - name: 'callbackData', + name: 'errorData', type: 'bytes', }, ], @@ -5114,24 +5053,16 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'addresses', - type: 'address[]', + name: 'transactionData', + type: 'bytes', }, ], - name: 'getEthBalances', + name: 'decodeZeroExTransactionData', outputs: [ { - name: '', - type: 'uint256[]', + name: 'functionName', + type: 'string', }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ { name: 'orders', type: 'tuple[]', @@ -5194,24 +5125,17 @@ export class DevUtilsContract extends BaseContract { }, ], }, - { - name: 'takerAddresses', - type: 'address[]', - }, { name: 'takerAssetFillAmounts', type: 'uint256[]', }, - ], - name: 'getSimulatedOrdersTransferResults', - outputs: [ { - name: 'orderTransferResults', - type: 'uint8[]', + name: 'signatures', + type: 'bytes[]', }, ], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'pure', type: 'function', }, { @@ -5222,11 +5146,19 @@ export class DevUtilsContract extends BaseContract { type: 'address', }, { - name: 'tokenId', - type: 'uint256', + name: 'tokenIds', + type: 'uint256[]', + }, + { + name: 'tokenValues', + type: 'uint256[]', + }, + { + name: 'callbackData', + type: 'bytes', }, ], - name: 'encodeERC721AssetData', + name: 'encodeERC1155AssetData', outputs: [ { name: 'assetData', @@ -5241,26 +5173,14 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'encoded', - type: 'bytes', + name: 'tokenAddress', + type: 'address', }, ], - name: 'decodeEIP1271SignatureError', + name: 'encodeERC20AssetData', outputs: [ { - name: 'verifyingContractAddress', - type: 'address', - }, - { - name: 'data', - type: 'bytes', - }, - { - name: 'signature', - type: 'bytes', - }, - { - name: 'errorData', + name: 'assetData', type: 'bytes', }, ], @@ -5276,19 +5196,34 @@ export class DevUtilsContract extends BaseContract { type: 'address', }, { - name: 'tokenIds', - type: 'uint256[]', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'encodeERC721AssetData', + outputs: [ + { + name: 'assetData', + type: 'bytes', }, + ], + payable: false, + stateMutability: 'pure', + type: 'function', + }, + { + constant: true, + inputs: [ { - name: 'tokenValues', + name: 'amounts', type: 'uint256[]', }, { - name: 'callbackData', - type: 'bytes', + name: 'nestedAssetData', + type: 'bytes[]', }, ], - name: 'encodeERC1155AssetData', + name: 'encodeMultiAssetData', outputs: [ { name: 'assetData', @@ -5302,74 +5237,120 @@ export class DevUtilsContract extends BaseContract { { constant: true, inputs: [ + { + name: 'ownerAddress', + type: 'address', + }, { name: 'assetData', type: 'bytes', }, ], - name: 'decodeMultiAssetData', + name: 'getAssetProxyAllowance', outputs: [ { - name: 'assetProxyId', - type: 'bytes4', + name: 'allowance', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'ownerAddress', + type: 'address', }, { - name: 'amounts', - type: 'uint256[]', + name: 'assetData', + type: 'bytes', }, + ], + name: 'getBalance', + outputs: [ { - name: 'nestedAssetData', - type: 'bytes[]', + name: 'balance', + type: 'uint256', }, ], payable: false, - stateMutability: 'pure', + stateMutability: 'view', type: 'function', }, { constant: true, inputs: [ { - name: 'encoded', + name: 'ownerAddress', + type: 'address', + }, + { + name: 'assetData', type: 'bytes', }, ], - name: 'decodeTransactionExecutionError', + name: 'getBalanceAndAssetProxyAllowance', outputs: [ { - name: 'transactionHash', - type: 'bytes32', + name: 'balance', + type: 'uint256', }, { - name: 'errorData', - type: 'bytes', + name: 'allowance', + type: 'uint256', }, ], payable: false, - stateMutability: 'pure', + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'ownerAddress', + type: 'address', + }, + { + name: 'assetData', + type: 'bytes[]', + }, + ], + name: 'getBatchAssetProxyAllowances', + outputs: [ + { + name: 'allowances', + type: 'uint256[]', + }, + ], + payable: false, + stateMutability: 'view', type: 'function', }, { constant: true, inputs: [ { - name: 'encoded', - type: 'bytes', + name: 'ownerAddress', + type: 'address', }, - ], - name: 'decodeTransactionError', - outputs: [ { - name: 'errorCode', - type: 'uint8', + name: 'assetData', + type: 'bytes[]', }, + ], + name: 'getBatchBalances', + outputs: [ { - name: 'transactionHash', - type: 'bytes32', + name: 'balances', + type: 'uint256[]', }, ], payable: false, - stateMutability: 'pure', + stateMutability: 'view', type: 'function', }, { @@ -5384,12 +5365,16 @@ export class DevUtilsContract extends BaseContract { type: 'bytes[]', }, ], - name: 'getBatchBalances', + name: 'getBatchBalancesAndAssetProxyAllowances', outputs: [ { name: 'balances', type: 'uint256[]', }, + { + name: 'allowances', + type: 'uint256[]', + }, ], payable: false, stateMutability: 'view', @@ -5399,19 +5384,15 @@ export class DevUtilsContract extends BaseContract { constant: true, inputs: [ { - name: 'ownerAddress', - type: 'address', - }, - { - name: 'assetData', - type: 'bytes', + name: 'addresses', + type: 'address[]', }, ], - name: 'getAssetProxyAllowance', + name: 'getEthBalances', outputs: [ { - name: 'allowance', - type: 'uint256', + name: '', + type: 'uint256[]', }, ], payable: false, @@ -5419,7 +5400,7 @@ export class DevUtilsContract extends BaseContract { type: 'function', }, { - constant: false, + constant: true, inputs: [ { name: 'order', @@ -5484,46 +5465,41 @@ export class DevUtilsContract extends BaseContract { ], }, { - name: 'takerAddress', - type: 'address', - }, - { - name: 'takerAssetFillAmount', - type: 'uint256', + name: 'signature', + type: 'bytes', }, ], - name: 'getSimulatedOrderTransferResults', + name: 'getOrderRelevantState', outputs: [ { - name: 'orderTransferResults', - type: 'uint8', - }, - ], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'amounts', - type: 'uint256[]', + name: 'orderInfo', + type: 'tuple', + components: [ + { + name: 'orderStatus', + type: 'uint8', + }, + { + name: 'orderHash', + type: 'bytes32', + }, + { + name: 'orderTakerAssetFilledAmount', + type: 'uint256', + }, + ], }, { - name: 'nestedAssetData', - type: 'bytes[]', + name: 'fillableTakerAssetAmount', + type: 'uint256', }, - ], - name: 'encodeMultiAssetData', - outputs: [ { - name: 'assetData', - type: 'bytes', + name: 'isValidSignature', + type: 'bool', }, ], payable: false, - stateMutability: 'pure', + stateMutability: 'view', type: 'function', }, { @@ -5630,34 +5606,7 @@ export class DevUtilsContract extends BaseContract { type: 'function', }, { - constant: true, - inputs: [ - { - name: 'ownerAddress', - type: 'address', - }, - { - name: 'assetData', - type: 'bytes[]', - }, - ], - name: 'getBatchBalancesAndAssetProxyAllowances', - outputs: [ - { - name: 'balances', - type: 'uint256[]', - }, - { - name: 'allowances', - type: 'uint256[]', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, + constant: false, inputs: [ { name: 'order', @@ -5722,82 +5671,133 @@ export class DevUtilsContract extends BaseContract { ], }, { - name: 'signature', - type: 'bytes', + name: 'takerAddress', + type: 'address', + }, + { + name: 'takerAssetFillAmount', + type: 'uint256', }, ], - name: 'getOrderRelevantState', + name: 'getSimulatedOrderTransferResults', outputs: [ { - name: 'orderInfo', - type: 'tuple', + name: 'orderTransferResults', + type: 'uint8', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'orders', + type: 'tuple[]', components: [ { - name: 'orderStatus', - type: 'uint8', + name: 'makerAddress', + type: 'address', }, { - name: 'orderHash', - type: 'bytes32', + name: 'takerAddress', + type: 'address', }, { - name: 'orderTakerAssetFilledAmount', + name: 'feeRecipientAddress', + type: 'address', + }, + { + name: 'senderAddress', + type: 'address', + }, + { + name: 'makerAssetAmount', + type: 'uint256', + }, + { + name: 'takerAssetAmount', + type: 'uint256', + }, + { + name: 'makerFee', + type: 'uint256', + }, + { + name: 'takerFee', + type: 'uint256', + }, + { + name: 'expirationTimeSeconds', + type: 'uint256', + }, + { + name: 'salt', type: 'uint256', }, + { + name: 'makerAssetData', + type: 'bytes', + }, + { + name: 'takerAssetData', + type: 'bytes', + }, + { + name: 'makerFeeAssetData', + type: 'bytes', + }, + { + name: 'takerFeeAssetData', + type: 'bytes', + }, ], }, { - name: 'fillableTakerAssetAmount', - type: 'uint256', + name: 'takerAddresses', + type: 'address[]', }, { - name: 'isValidSignature', - type: 'bool', + name: 'takerAssetFillAmounts', + type: 'uint256[]', + }, + ], + name: 'getSimulatedOrdersTransferResults', + outputs: [ + { + name: 'orderTransferResults', + type: 'uint8[]', }, ], payable: false, - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', }, { constant: true, inputs: [ { - name: 'encoded', + name: 'ownerAddress', + type: 'address', + }, + { + name: 'assetData', type: 'bytes', }, ], - name: 'decodeExchangeInvalidContextError', + name: 'getTransferableAssetAmount', outputs: [ { - name: 'errorCode', - type: 'uint8', - }, - { - name: 'orderHash', - type: 'bytes32', - }, - { - name: 'contextAddress', - type: 'address', + name: 'transferableAssetAmount', + type: 'uint256', }, ], payable: false, - stateMutability: 'pure', + stateMutability: 'view', type: 'function', }, - { - inputs: [ - { - name: '_exchange', - type: 'address', - }, - ], - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'constructor', - }, ] as ContractAbi; return abi; } diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts index 7227a59d37..451acd6aac 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,23 +19,17 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable -export type DummyERC20TokenEventArgs = DummyERC20TokenTransferEventArgs | DummyERC20TokenApprovalEventArgs; +export type DummyERC20TokenEventArgs = DummyERC20TokenApprovalEventArgs | DummyERC20TokenTransferEventArgs; export enum DummyERC20TokenEvents { - Transfer = 'Transfer', Approval = 'Approval', -} - -export interface DummyERC20TokenTransferEventArgs extends DecodedLogArgs { - _from: string; - _to: string; - _value: BigNumber; + Transfer = 'Transfer', } export interface DummyERC20TokenApprovalEventArgs extends DecodedLogArgs { @@ -50,19 +38,25 @@ export interface DummyERC20TokenApprovalEventArgs extends DecodedLogArgs { _value: BigNumber; } +export interface DummyERC20TokenTransferEventArgs extends DecodedLogArgs { + _from: string; + _to: string; + _value: BigNumber; +} + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC20TokenContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146102e2578063e30443bc1461031d578063f2fde38b14610356578063fa9b701814610389576100ea565b806395d89b4114610282578063a0712d681461028a578063a9059cbb146102a9576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce5671461021657806370a082311461021e5780638da5cb5b14610251576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f7610391565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561043d565b604080519115158252519081900360200190f35b6101c16104b0565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104b6565b6101c1610772565b6101c16004803603602081101561023457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610778565b6102596107a0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f76107bc565b6102a7600480360360208110156102a057600080fd5b5035610835565b005b6101a5600480360360408110156102bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108bb565b6101c1600480360360408110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a4a565b6102a76004803603604081101561033357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a82565b6102a76004803603602081101561036c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b18565b6101c1610b95565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600260209081526040808320338452825280832054938352600190915281205490919083111561056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b828110156105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040902054838101101561066857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107025773ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b60065481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b69021e19e0c9bab24000008111156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f56414c55455f544f4f5f4c415247450000000000000000000000000000000000604482015290519081900360640190fd5b6108b83382610ba3565b50565b3360009081526001602052604081205482111561093957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205482810110156109cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610a8a610c5c565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205480821015610ad557610acd600354610ac88385610ca5565b610ca5565b600355610aee565b610aea600354610ae58484610ca5565b610cc4565b6003555b5073ffffffffffffffffffffffffffffffffffffffff909116600090815260016020526040902055565b610b20610c5c565b73ffffffffffffffffffffffffffffffffffffffff8116610b5057610b4b610b46610ce7565b610d1e565b6108b8565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b69021e19e0c9bab240000081565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610bd4908290610cc4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354610c079082610cc4565b60035560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ca357600054610ca390610b4690339073ffffffffffffffffffffffffffffffffffffffff16610d26565b565b600082821115610cbe57610cbe610b4660028585610db2565b50900390565b600082820183811015610ce057610ce0610b4660008686610db2565b9392505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad10000000000000000000000000000000000000000000000000000000017905292915050565b606063e946c1bb60e01b84848460405160240180846003811115610dd257fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050939250505056fea265627a7a723158209e2af1cebd7a94c7a0a791b3bafa6124389a824f3513d2b1bd461284e57e60d864736f6c634300050b0032'; - public name = { + '0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146102e2578063e30443bc1461031d578063f2fde38b14610356578063fa9b701814610389576100ea565b806395d89b4114610282578063a0712d681461028a578063a9059cbb146102a9576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce5671461021657806370a082311461021e5780638da5cb5b14610251576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f7610391565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561043d565b604080519115158252519081900360200190f35b6101c16104b0565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104b6565b6101c1610772565b6101c16004803603602081101561023457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610778565b6102596107a0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f76107bc565b6102a7600480360360208110156102a057600080fd5b5035610835565b005b6101a5600480360360408110156102bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108bb565b6101c1600480360360408110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a4a565b6102a76004803603604081101561033357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a82565b6102a76004803603602081101561036c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b18565b6101c1610b95565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600260209081526040808320338452825280832054938352600190915281205490919083111561056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b828110156105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040902054838101101561066857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107025773ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b60065481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b69021e19e0c9bab24000008111156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f56414c55455f544f4f5f4c415247450000000000000000000000000000000000604482015290519081900360640190fd5b6108b83382610ba3565b50565b3360009081526001602052604081205482111561093957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205482810110156109cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610a8a610c5c565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205480821015610ad557610acd600354610ac88385610ca5565b610ca5565b600355610aee565b610aea600354610ae58484610ca5565b610cc4565b6003555b5073ffffffffffffffffffffffffffffffffffffffff909116600090815260016020526040902055565b610b20610c5c565b73ffffffffffffffffffffffffffffffffffffffff8116610b5057610b4b610b46610ce7565b610d1e565b6108b8565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b69021e19e0c9bab240000081565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610bd4908290610cc4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354610c079082610cc4565b60035560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ca357600054610ca390610b4690339073ffffffffffffffffffffffffffffffffffffffff16610d26565b565b600082821115610cbe57610cbe610b4660028585610db2565b50900390565b600082820183811015610ce057610ce0610b4660008686610db2565b9392505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad10000000000000000000000000000000000000000000000000000000017905292915050565b606063e946c1bb60e01b84848460405160240180846003811115610dd257fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050939250505056fea265627a7a7231582089c03e503c77db7069bea8a94ec1c47ee5201d8bdb53857e70a882a1130e1ac364736f6c634300050c0032'; + public MAX_MINT_AMOUNT = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -72,7 +66,7 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('name()', []); + const encodedData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -92,9 +86,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('name()'); + const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -106,7 +100,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); return abiEncodedTransactionData; }, /** @@ -116,7 +110,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('name()'); + const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -126,11 +120,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('name()'); + const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -138,7 +132,113 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('name()'); + const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); + return abiEncoder.getSelector(); + }, + }; + public allowance = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param _owner The address of the account owning tokens + * @param _spender The address of the account able to transfer the tokens + * @returns Amount of remaining tokens allowed to spent + */ + async callAsync( + _owner: string, + _spender: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('_owner', _owner); + assert.isString('_spender', _spender); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param _owner The address of the account owning tokens + * @param _spender The address of the account able to transfer the tokens + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(_owner: string, _spender: string): string { + assert.isString('_owner', _owner); + assert.isString('_spender', _spender); + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ + _owner.toLowerCase(), + _spender.toLowerCase(), + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): BigNumber { + const self = (this as any) as DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); return abiEncoder.getSelector(); }, }; @@ -362,16 +462,22 @@ export class DummyERC20TokenContract extends BaseContract { }, }; /** - * Query total supply of token + * Query the balance of owner */ - public totalSupply = { + public balanceOf = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @returns Total supply of token + * @param _owner The address from which the balance will be retrieved + * @returns Balance of owner */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + _owner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('_owner', _owner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -381,7 +487,7 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('totalSupply()', []); + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -401,7 +507,7 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('totalSupply()'); + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -411,11 +517,13 @@ export class DummyERC20TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param _owner The address from which the balance will be retrieved * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(_owner: string): string { + assert.isString('_owner', _owner); const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); return abiEncodedTransactionData; }, /** @@ -423,11 +531,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('totalSupply()'); + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -437,7 +545,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('totalSupply()'); + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -447,81 +555,143 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('totalSupply()'); + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); return abiEncoder.getSelector(); }, }; - /** - * ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. See https://github.com/ethereum/EIPs/issues/717 - */ - public transferFrom = { + public decimals = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _from Address to transfer from. - * @param _to Address to transfer to. - * @param _value Amount to transfer. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. */ - async sendTransactionAsync( - _from: string, - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('decimals()', []); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('decimals()'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; }, /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param _from Address to transfer from. - * @param _to Address to transfer to. - * @param _value Amount to transfer. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string */ - awaitTransactionSuccessAsync( - _from: string, - _to: string, - _value: BigNumber, + getABIEncodedTransactionData(): string { + const self = (this as any) as DummyERC20TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): void { + const self = (this as any) as DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('decimals()'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): BigNumber { + const self = (this as any) as DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('decimals()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as DummyERC20TokenContract; + const abiEncoder = self._lookupAbiEncoder('decimals()'); + return abiEncoder.getSelector(); + }, + }; + /** + * Mints new tokens for sender + */ + public mint = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _value Amount of tokens to mint + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync(_value: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + /** + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param _value Amount of tokens to mint + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful + */ + awaitTransactionSuccessAsync( + _value: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _value, - txData, - ); + const txHashPromise = self.mint.sendTransactionAsync(_value, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -536,27 +706,14 @@ export class DummyERC20TokenContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _from Address to transfer from. - * @param _to Address to transfer to. - * @param _value Amount to transfer. + * @param _value Amount of tokens to mint * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync( - _from: string, - _to: string, - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); + async estimateGasAsync(_value: BigNumber, txData?: Partial | undefined): Promise { assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -573,33 +730,20 @@ export class DummyERC20TokenContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - _from: string, - _to: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).transferFrom.callAsync(_from, _to, _value, txData); - const txHash = await (this as any).transferFrom.sendTransactionAsync(_from, _to, _value, txData); + await (this as any).mint.callAsync(_value, txData); + const txHash = await (this as any).mint.sendTransactionAsync(_value, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _from Address to transfer from. - * @param _to Address to transfer to. - * @param _value Amount to transfer. - * @returns Success of transfer. + * @param _value Amount of tokens to mint */ - async callAsync( - _from: string, - _to: string, - _value: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); + async callAsync(_value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -610,11 +754,7 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -634,9 +774,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -644,21 +784,13 @@ export class DummyERC20TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _from Address to transfer from. - * @param _to Address to transfer to. - * @param _value Amount to transfer. + * @param _value Amount of tokens to mint * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { - assert.isString('_from', _from); - assert.isString('_to', _to); + getABIEncodedTransactionData(_value: BigNumber): string { assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _value, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value]); return abiEncodedTransactionData; }, /** @@ -666,11 +798,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -678,11 +810,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): boolean { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -690,17 +822,17 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); return abiEncoder.getSelector(); }, }; - public decimals = { + public name = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -710,7 +842,7 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('decimals()', []); + const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -730,9 +862,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('decimals()'); + const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -744,7 +876,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('decimals()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, /** @@ -754,7 +886,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('decimals()'); + const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -764,11 +896,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('decimals()'); + const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -776,27 +908,17 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('decimals()'); + const abiEncoder = self._lookupAbiEncoder('name()'); return abiEncoder.getSelector(); }, }; - /** - * Query the balance of owner - */ - public balanceOf = { + public owner = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _owner The address from which the balance will be retrieved - * @returns Balance of owner */ - async callAsync( - _owner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -806,7 +928,7 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -826,9 +948,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -836,13 +958,11 @@ export class DummyERC20TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _owner The address from which the balance will be retrieved * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_owner: string): string { - assert.isString('_owner', _owner); + getABIEncodedTransactionData(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, /** @@ -850,11 +970,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -862,11 +982,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -874,17 +994,139 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('owner()'); return abiEncoder.getSelector(); }, }; - public owner = { + /** + * Sets the balance of target address + */ + public setBalance = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _target Address or which balance will be updated + * @param _value New balance of target address + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + _target: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + /** + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param _target Address or which balance will be updated + * @param _value New balance of target address + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful + */ + awaitTransactionSuccessAsync( + _target: string, + _value: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), _value, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + /** + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param _target Address or which balance will be updated + * @param _value New balance of target address + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync( + _target: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); + const self = (this as any) as DummyERC20TokenContract; + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + _target: string, + _value: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).setBalance.callAsync(_target, _value, txData); + const txHash = await (this as any).setBalance.sendTransactionAsync(_target, _value, txData); + return txHash; + }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param _target Address or which balance will be updated + * @param _value New balance of target address */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + _target: string, + _value: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -894,7 +1136,10 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('owner()', []); + const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -914,9 +1159,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -924,11 +1169,18 @@ export class DummyERC20TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param _target Address or which balance will be updated + * @param _value New balance of target address * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(_target: string, _value: BigNumber): string { + assert.isString('_target', _target); + assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [ + _target.toLowerCase(), + _value, + ]); return abiEncodedTransactionData; }, /** @@ -936,11 +1188,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): [string, BigNumber] { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -948,11 +1200,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -960,7 +1212,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); return abiEncoder.getSelector(); }, }; @@ -1051,105 +1303,16 @@ export class DummyERC20TokenContract extends BaseContract { }, }; /** - * Mints new tokens for sender + * Query total supply of token */ - public mint = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _value Amount of tokens to mint - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync(_value: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param _value Amount of tokens to mint - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful - */ - awaitTransactionSuccessAsync( - _value: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_value, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); - }, - /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _value Amount of tokens to mint - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync(_value: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - _value: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).mint.callAsync(_value, txData); - const txHash = await (this as any).mint.sendTransactionAsync(_value, txData); - return txHash; - }, + public totalSupply = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _value Amount of tokens to mint + * @returns Total supply of token */ - async callAsync(_value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.isBigNumber('_value', _value); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1159,7 +1322,7 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('mint(uint256)', [_value]); + const encodedData = self._strictEncodeArguments('totalSupply()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1179,9 +1342,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); + const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1189,13 +1352,11 @@ export class DummyERC20TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _value Amount of tokens to mint * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_value: BigNumber): string { - assert.isBigNumber('_value', _value); + getABIEncodedTransactionData(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(uint256)', [_value]); + const abiEncodedTransactionData = self._strictEncodeArguments('totalSupply()', []); return abiEncodedTransactionData; }, /** @@ -1203,11 +1364,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [BigNumber] { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); + const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1215,11 +1376,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); + const abiEncoder = self._lookupAbiEncoder('totalSupply()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1227,7 +1388,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('mint(uint256)'); + const abiEncoder = self._lookupAbiEncoder('totalSupply()'); return abiEncoder.getSelector(); }, }; @@ -1339,121 +1500,18 @@ export class DummyERC20TokenContract extends BaseContract { * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _to The address of the recipient - * @param _value The amount of token to be transferred - * @returns True if transfer was successful - */ - async callAsync( - _to: string, - _value: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param _to The address of the recipient - * @param _value The amount of token to be transferred - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(_to: string, _value: BigNumber): string { - assert.isString('_to', _to); - assert.isBigNumber('_value', _value); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ - _to.toLowerCase(), - _value, - ]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): string { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): boolean { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); - return abiEncoder.getSelector(); - }, - }; - public allowance = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param _owner The address of the account owning tokens - * @param _spender The address of the account able to transfer the tokens - * @returns Amount of remaining tokens allowed to spent + * @param _to The address of the recipient + * @param _value The amount of token to be transferred + * @returns True if transfer was successful */ async callAsync( - _owner: string, - _spender: string, + _to: string, + _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); - assert.isString('_spender', _spender); + ): Promise { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1463,10 +1521,7 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), - ]); + const encodedData = self._strictEncodeArguments('transfer(address,uint256)', [_to.toLowerCase(), _value]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1486,9 +1541,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1496,17 +1551,17 @@ export class DummyERC20TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _owner The address of the account owning tokens - * @param _spender The address of the account able to transfer the tokens + * @param _to The address of the recipient + * @param _value The amount of token to be transferred * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_owner: string, _spender: string): string { - assert.isString('_owner', _owner); - assert.isString('_spender', _spender); + getABIEncodedTransactionData(_to: string, _value: BigNumber): string { + assert.isString('_to', _to); + assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowance(address,address)', [ - _owner.toLowerCase(), - _spender.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('transfer(address,uint256)', [ + _to.toLowerCase(), + _value, ]); return abiEncodedTransactionData; }, @@ -1517,7 +1572,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -1527,11 +1582,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1539,32 +1594,36 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('allowance(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transfer(address,uint256)'); return abiEncoder.getSelector(); }, }; /** - * Sets the balance of target address + * ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. See https://github.com/ethereum/EIPs/issues/717 */ - public setBalance = { + public transferFrom = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param _target Address or which balance will be updated - * @param _value New balance of target address + * @param _from Address to transfer from. + * @param _to Address to transfer to. + * @param _value Amount to transfer. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - _target: string, + _from: string, + _to: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), _value, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -1585,23 +1644,31 @@ export class DummyERC20TokenContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param _target Address or which balance will be updated - * @param _value New balance of target address + * @param _from Address to transfer from. + * @param _to Address to transfer to. + * @param _value Amount to transfer. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - _target: string, + _from: string, + _to: string, _value: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_target', _target); + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const txHashPromise = self.setBalance.sendTransactionAsync(_target.toLowerCase(), _value, txData); + const txHashPromise = self.transferFrom.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _value, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1616,21 +1683,25 @@ export class DummyERC20TokenContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _target Address or which balance will be updated - * @param _value New balance of target address + * @param _from Address to transfer from. + * @param _to Address to transfer to. + * @param _value Amount to transfer. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - _target: string, + _from: string, + _to: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_target', _target); + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), _value, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -1649,28 +1720,33 @@ export class DummyERC20TokenContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - _target: string, + _from: string, + _to: string, _value: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).setBalance.callAsync(_target, _value, txData); - const txHash = await (this as any).setBalance.sendTransactionAsync(_target, _value, txData); + await (this as any).transferFrom.callAsync(_from, _to, _value, txData); + const txHash = await (this as any).transferFrom.sendTransactionAsync(_from, _to, _value, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _target Address or which balance will be updated - * @param _value New balance of target address + * @param _from Address to transfer from. + * @param _to Address to transfer to. + * @param _value Amount to transfer. + * @returns Success of transfer. */ async callAsync( - _target: string, + _from: string, + _to: string, _value: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('_target', _target); + ): Promise { + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_value', _value); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1681,8 +1757,9 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), _value, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -1704,9 +1781,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1714,16 +1791,19 @@ export class DummyERC20TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _target Address or which balance will be updated - * @param _value New balance of target address + * @param _from Address to transfer from. + * @param _to Address to transfer to. + * @param _value Amount to transfer. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_target: string, _value: BigNumber): string { - assert.isString('_target', _target); + getABIEncodedTransactionData(_from: string, _to: string, _value: BigNumber): string { + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_value', _value); const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setBalance(address,uint256)', [ - _target.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), _value, ]); return abiEncodedTransactionData; @@ -1733,11 +1813,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, BigNumber] { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1745,11 +1825,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1757,7 +1837,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('setBalance(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); return abiEncoder.getSelector(); }, }; @@ -1849,97 +1929,8 @@ export class DummyERC20TokenContract extends BaseContract { * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. */ - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.isString('newOwner', newOwner); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(newOwner: string): string { - assert.isString('newOwner', newOwner); - const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), - ]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): [string] { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): void { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); - return abiEncoder.getSelector(); - }, - }; - public MAX_MINT_AMOUNT = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1949,7 +1940,7 @@ export class DummyERC20TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC20TokenContract; - const encodedData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1969,9 +1960,9 @@ export class DummyERC20TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1981,9 +1972,12 @@ export class DummyERC20TokenContract extends BaseContract { * to create a 0x transaction (see protocol spec for more details). * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(newOwner: string): string { + assert.isString('newOwner', newOwner); const self = (this as any) as DummyERC20TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('MAX_MINT_AMOUNT()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, /** @@ -1991,11 +1985,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -2003,11 +1997,11 @@ export class DummyERC20TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -2015,7 +2009,7 @@ export class DummyERC20TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC20TokenContract; - const abiEncoder = self._lookupAbiEncoder('MAX_MINT_AMOUNT()'); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); return abiEncoder.getSelector(); }, }; @@ -2112,87 +2106,102 @@ export class DummyERC20TokenContract extends BaseContract { public static ABI(): ContractAbi { const abi = [ { - constant: true, - inputs: [], - name: 'name', - outputs: [ + inputs: [ { - name: '', + name: '_name', type: 'string', }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ { - name: '_spender', - type: 'address', + name: '_symbol', + type: 'string', }, { - name: '_value', + name: '_decimals', type: 'uint256', }, - ], - name: 'approve', - outputs: [ { - name: '', - type: 'bool', + name: '_totalSupply', + type: 'uint256', }, ], + outputs: [], payable: false, stateMutability: 'nonpayable', - type: 'function', + type: 'constructor', }, { - constant: true, - inputs: [], - name: 'totalSupply', - outputs: [ + anonymous: false, + inputs: [ { - name: '', + name: '_owner', + type: 'address', + indexed: true, + }, + { + name: '_spender', + type: 'address', + indexed: true, + }, + { + name: '_value', type: 'uint256', + indexed: false, }, ], - payable: false, - stateMutability: 'view', - type: 'function', + name: 'Approval', + outputs: [], + type: 'event', }, { - constant: false, + anonymous: false, inputs: [ { name: '_from', type: 'address', + indexed: true, }, { name: '_to', type: 'address', + indexed: true, }, { name: '_value', type: 'uint256', + indexed: false, }, ], - name: 'transferFrom', + name: 'Transfer', + outputs: [], + type: 'event', + }, + { + constant: true, + inputs: [], + name: 'MAX_MINT_AMOUNT', outputs: [ { name: '', - type: 'bool', + type: 'uint256', }, ], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { constant: true, - inputs: [], - name: 'decimals', + inputs: [ + { + name: '_owner', + type: 'address', + }, + { + name: '_spender', + type: 'address', + }, + ], + name: 'allowance', outputs: [ { name: '', @@ -2204,32 +2213,41 @@ export class DummyERC20TokenContract extends BaseContract { type: 'function', }, { - constant: true, + constant: false, inputs: [ { - name: '_owner', + name: '_spender', type: 'address', }, + { + name: '_value', + type: 'uint256', + }, ], - name: 'balanceOf', + name: 'approve', outputs: [ { name: '', - type: 'uint256', + type: 'bool', }, ], payable: false, - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', }, { constant: true, - inputs: [], - name: 'owner', + inputs: [ + { + name: '_owner', + type: 'address', + }, + ], + name: 'balanceOf', outputs: [ { name: '', - type: 'address', + type: 'uint256', }, ], payable: false, @@ -2239,11 +2257,11 @@ export class DummyERC20TokenContract extends BaseContract { { constant: true, inputs: [], - name: 'symbol', + name: 'decimals', outputs: [ { name: '', - type: 'string', + type: 'uint256', }, ], payable: false, @@ -2265,45 +2283,27 @@ export class DummyERC20TokenContract extends BaseContract { type: 'function', }, { - constant: false, - inputs: [ - { - name: '_to', - type: 'address', - }, - { - name: '_value', - type: 'uint256', - }, - ], - name: 'transfer', + constant: true, + inputs: [], + name: 'name', outputs: [ { name: '', - type: 'bool', + type: 'string', }, ], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { constant: true, - inputs: [ - { - name: '_owner', - type: 'address', - }, - { - name: '_spender', - type: 'address', - }, - ], - name: 'allowance', + inputs: [], + name: 'owner', outputs: [ { name: '', - type: 'uint256', + type: 'address', }, ], payable: false, @@ -2329,23 +2329,23 @@ export class DummyERC20TokenContract extends BaseContract { type: 'function', }, { - constant: false, - inputs: [ + constant: true, + inputs: [], + name: 'symbol', + outputs: [ { - name: 'newOwner', - type: 'address', + name: '', + type: 'string', }, ], - name: 'transferOwnership', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { constant: true, inputs: [], - name: 'MAX_MINT_AMOUNT', + name: 'totalSupply', outputs: [ { name: '', @@ -2357,74 +2357,68 @@ export class DummyERC20TokenContract extends BaseContract { type: 'function', }, { + constant: false, inputs: [ { - name: '_name', - type: 'string', - }, - { - name: '_symbol', - type: 'string', + name: '_to', + type: 'address', }, { - name: '_decimals', + name: '_value', type: 'uint256', }, + ], + name: 'transfer', + outputs: [ { - name: '_totalSupply', - type: 'uint256', + name: '', + type: 'bool', }, ], - outputs: [], payable: false, stateMutability: 'nonpayable', - type: 'constructor', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { name: '_from', type: 'address', - indexed: true, }, { name: '_to', type: 'address', - indexed: true, }, { name: '_value', type: 'uint256', - indexed: false, }, ], - name: 'Transfer', - outputs: [], - type: 'event', + name: 'transferFrom', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: '_owner', - type: 'address', - indexed: true, - }, - { - name: '_spender', + name: 'newOwner', type: 'address', - indexed: true, - }, - { - name: '_value', - type: 'uint256', - indexed: false, }, ], - name: 'Approval', + name: 'transferOwnership', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, ] as ContractAbi; return abi; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts index 90815bd46a..dae65868e7 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,27 +19,21 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable export type DummyERC721TokenEventArgs = - | DummyERC721TokenTransferEventArgs | DummyERC721TokenApprovalEventArgs - | DummyERC721TokenApprovalForAllEventArgs; + | DummyERC721TokenApprovalForAllEventArgs + | DummyERC721TokenTransferEventArgs; export enum DummyERC721TokenEvents { - Transfer = 'Transfer', Approval = 'Approval', ApprovalForAll = 'ApprovalForAll', -} - -export interface DummyERC721TokenTransferEventArgs extends DecodedLogArgs { - _from: string; - _to: string; - _tokenId: BigNumber; + Transfer = 'Transfer', } export interface DummyERC721TokenApprovalEventArgs extends DecodedLogArgs { @@ -60,196 +48,18 @@ export interface DummyERC721TokenApprovalForAllEventArgs extends DecodedLogArgs _approved: boolean; } +export interface DummyERC721TokenTransferEventArgs extends DecodedLogArgs { + _from: string; + _to: string; + _tokenId: BigNumber; +} + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class DummyERC721TokenContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a72315820fa4c6b314e8344396012dd715342303e1518c8802f952ab51b3ddc0d95011b3964736f6c634300050b0032'; - public name = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('name()', []); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('name()'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(): string { - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): void { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('name()'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): string { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('name()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('name()'); - return abiEncoder.getSelector(); - }, - }; - /** - * Throws if `_tokenId` is not a valid NFT. - */ - public getApproved = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param _tokenId The NFT to find the approved address for - * @returns The approved address for this NFT, or the zero address if there is none - */ - async callAsync( - _tokenId: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('_tokenId', _tokenId); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param _tokenId The NFT to find the approved address for - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(_tokenId: BigNumber): string { - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): BigNumber { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): string { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); - return abiEncoder.getSelector(); - }, - }; + '0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158207bb3c4b1d40aa051fbb8e4f8230bb310013e75ca9fa97c528018b4c4aba3b92564736f6c634300050c0032'; /** * The zero address indicates there is no approved address. * Throws unless `msg.sender` is the current NFT owner, or an authorized @@ -471,79 +281,161 @@ export class DummyERC721TokenContract extends BaseContract { }, }; /** - * Throws unless `msg.sender` is the current owner, an authorized - * operator, or the approved address for this NFT. Throws if `_from` is - * not the current owner. Throws if `_to` is the zero address. Throws if - * `_tokenId` is not a valid NFT. + * NFTs assigned to the zero address are considered invalid, and this + * function throws for queries about the zero address. */ - public transferFrom = { + public balanceOf = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param _owner An address for whom to query the balance + * @returns The number of NFTs owned by `_owner`, possibly zero */ - async sendTransactionAsync( - _from: string, - _to: string, - _tokenId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, + async callAsync( + _owner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('_owner', _owner); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param _owner An address for whom to query the balance + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(_owner: string): string { + assert.isString('_owner', _owner); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): BigNumber { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + return abiEncoder.getSelector(); + }, + }; + /** + * Function to burn a token + * Reverts if the given token ID doesn't exist or not called by contract owner + */ + public burn = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _owner Owner of token with given token ID + * @param _tokenId ID of the token to be burned by the msg.sender + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + _owner: string, + _tokenId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_owner', _owner); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); return txHash; }, /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _owner Owner of token with given token ID + * @param _tokenId ID of the token to be burned by the msg.sender * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - _from: string, - _to: string, + _owner: string, _tokenId: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); + assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); + const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), _tokenId, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -558,27 +450,20 @@ export class DummyERC721TokenContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _owner Owner of token with given token ID + * @param _tokenId ID of the token to be burned by the msg.sender * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - _from: string, - _to: string, + _owner: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); + assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -595,32 +480,28 @@ export class DummyERC721TokenContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - _from: string, - _to: string, + _owner: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).transferFrom.callAsync(_from, _to, _tokenId, txData); - const txHash = await (this as any).transferFrom.sendTransactionAsync(_from, _to, _tokenId, txData); + await (this as any).burn.callAsync(_owner, _tokenId, txData); + const txHash = await (this as any).burn.sendTransactionAsync(_owner, _tokenId, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _owner Owner of token with given token ID + * @param _tokenId ID of the token to be burned by the msg.sender */ async callAsync( - _from: string, - _to: string, + _owner: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); + assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -631,11 +512,7 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -655,7 +532,7 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -665,19 +542,16 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _owner Owner of token with given token ID + * @param _tokenId ID of the token to be burned by the msg.sender * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { - assert.isString('_from', _from); - assert.isString('_to', _to); + getABIEncodedTransactionData(_owner: string, _tokenId: BigNumber): string { + assert.isString('_owner', _owner); assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [ + _owner.toLowerCase(), _tokenId, ]); return abiEncodedTransactionData; @@ -687,11 +561,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, string, BigNumber] { + getABIDecodedTransactionData(callData: string): [string, BigNumber] { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -701,7 +575,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -711,134 +585,125 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); return abiEncoder.getSelector(); }, }; /** - * Function to mint a new token - * Reverts if the given token ID already exists + * Throws if `_tokenId` is not a valid NFT. */ - public mint = { + public getApproved = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _to Address of the beneficiary that will own the minted token - * @param _tokenId ID of the token to be minted by the msg.sender - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param _tokenId The NFT to find the approved address for + * @returns The approved address for this NFT, or the zero address if there is none */ - async sendTransactionAsync( - _to: string, + async callAsync( _tokenId: BigNumber, - txData?: Partial | undefined, + callData: Partial = {}, + defaultBlock?: BlockParam, ): Promise { - assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; }, /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param _to Address of the beneficiary that will own the minted token - * @param _tokenId ID of the token to be minted by the msg.sender - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param _tokenId The NFT to find the approved address for + * @returns The ABI encoded transaction data as a string */ - awaitTransactionSuccessAsync( - _to: string, - _tokenId: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('_to', _to); + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), _tokenId, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + return abiEncodedTransactionData; }, /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _to Address of the beneficiary that will own the minted token - * @param _tokenId ID of the token to be minted by the msg.sender - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - async estimateGasAsync( - _to: string, - _tokenId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); + getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; }, - async validateAndSendTransactionAsync( - _to: string, - _tokenId: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).mint.callAsync(_to, _tokenId, txData); - const txHash = await (this as any).mint.sendTransactionAsync(_to, _tokenId, txData); - return txHash; + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): string { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); + return abiEncoder.getSelector(); + }, + }; + public isApprovedForAll = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _to Address of the beneficiary that will own the minted token - * @param _tokenId ID of the token to be minted by the msg.sender + * @param _owner The address that owns the NFTs + * @param _operator The address that acts on behalf of the owner + * @returns True if `_operator` is an approved operator for `_owner`, false otherwise */ async callAsync( - _to: string, - _tokenId: BigNumber, + _owner: string, + _operator: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); + ): Promise { + assert.isString('_owner', _owner); + assert.isString('_operator', _operator); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -848,7 +713,10 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -868,9 +736,9 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -878,17 +746,17 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _to Address of the beneficiary that will own the minted token - * @param _tokenId ID of the token to be minted by the msg.sender + * @param _owner The address that owns the NFTs + * @param _operator The address that acts on behalf of the owner * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_to: string, _tokenId: BigNumber): string { - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); + getABIEncodedTransactionData(_owner: string, _operator: string): string { + assert.isString('_owner', _owner); + assert.isString('_operator', _operator); const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [ - _to.toLowerCase(), - _tokenId, + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), ]); return abiEncodedTransactionData; }, @@ -897,11 +765,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, BigNumber] { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -909,11 +777,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -921,39 +789,32 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); return abiEncoder.getSelector(); }, }; /** - * This works identically to the other function with an extra data parameter, - * except this function just sets data to "". + * Function to mint a new token + * Reverts if the given token ID already exists */ - public safeTransferFrom1 = { + public mint = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _to Address of the beneficiary that will own the minted token + * @param _tokenId ID of the token to be minted by the msg.sender * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - _from: string, _to: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -972,31 +833,23 @@ export class DummyERC721TokenContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _to Address of the beneficiary that will own the minted token + * @param _tokenId ID of the token to be minted by the msg.sender * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - _from: string, _to: string, _tokenId: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); + const txHashPromise = self.mint.sendTransactionAsync(_to.toLowerCase(), _tokenId, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1011,27 +864,20 @@ export class DummyERC721TokenContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _to Address of the beneficiary that will own the minted token + * @param _tokenId ID of the token to be minted by the msg.sender * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - _from: string, _to: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1048,31 +894,27 @@ export class DummyERC721TokenContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - _from: string, _to: string, _tokenId: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).safeTransferFrom1.callAsync(_from, _to, _tokenId, txData); - const txHash = await (this as any).safeTransferFrom1.sendTransactionAsync(_from, _to, _tokenId, txData); + await (this as any).mint.callAsync(_to, _tokenId, txData); + const txHash = await (this as any).mint.sendTransactionAsync(_to, _tokenId, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _to Address of the beneficiary that will own the minted token + * @param _tokenId ID of the token to be minted by the msg.sender */ async callAsync( - _from: string, _to: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -1084,11 +926,7 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const encodedData = self._strictEncodeArguments('mint(address,uint256)', [_to.toLowerCase(), _tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1108,7 +946,7 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1118,18 +956,15 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _to Address of the beneficiary that will own the minted token + * @param _tokenId ID of the token to be minted by the msg.sender * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { - assert.isString('_from', _from); + getABIEncodedTransactionData(_to: string, _tokenId: BigNumber): string { assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ - _from.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('mint(address,uint256)', [ _to.toLowerCase(), _tokenId, ]); @@ -1140,11 +975,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, string, BigNumber] { + getABIDecodedTransactionData(callData: string): [string, BigNumber] { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -1154,7 +989,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1164,28 +999,17 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('mint(address,uint256)'); return abiEncoder.getSelector(); }, }; - /** - * NFTs assigned to zero address are considered invalid, and queries - * about them do throw. - */ - public ownerOf = { + public name = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _tokenId The identifier for an NFT - * @returns The address of the owner of the NFT - */ - async callAsync( - _tokenId: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('_tokenId', _tokenId); + */ + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1195,7 +1019,7 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const encodedData = self._strictEncodeArguments('name()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1215,7 +1039,7 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); + const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1225,13 +1049,11 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _tokenId The identifier for an NFT * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_tokenId: BigNumber): string { - assert.isBigNumber('_tokenId', _tokenId); + getABIEncodedTransactionData(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); + const abiEncodedTransactionData = self._strictEncodeArguments('name()', []); return abiEncodedTransactionData; }, /** @@ -1239,11 +1061,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): BigNumber { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); + const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1253,7 +1075,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); + const abiEncoder = self._lookupAbiEncoder('name()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1263,28 +1085,17 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); + const abiEncoder = self._lookupAbiEncoder('name()'); return abiEncoder.getSelector(); }, }; - /** - * NFTs assigned to the zero address are considered invalid, and this - * function throws for queries about the zero address. - */ - public balanceOf = { + public owner = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _owner An address for whom to query the balance - * @returns The number of NFTs owned by `_owner`, possibly zero */ - async callAsync( - _owner: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1294,7 +1105,7 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1314,9 +1125,9 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1324,13 +1135,11 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _owner An address for whom to query the balance * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_owner: string): string { - assert.isString('_owner', _owner); + getABIEncodedTransactionData(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, /** @@ -1338,11 +1147,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1350,11 +1159,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1362,17 +1171,28 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('owner()'); return abiEncoder.getSelector(); }, }; - public owner = { + /** + * NFTs assigned to zero address are considered invalid, and queries + * about them do throw. + */ + public ownerOf = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param _tokenId The identifier for an NFT + * @returns The address of the owner of the NFT */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + _tokenId: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1382,7 +1202,7 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('owner()', []); + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1402,7 +1222,7 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1412,11 +1232,13 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param _tokenId The identifier for an NFT * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(_tokenId: BigNumber): string { + assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); return abiEncodedTransactionData; }, /** @@ -1424,11 +1246,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1438,7 +1260,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1448,17 +1270,160 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); return abiEncoder.getSelector(); }, }; - public symbol = { + /** + * This works identically to the other function with an extra data parameter, + * except this function just sets data to "". + */ + public safeTransferFrom1 = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + _from: string, + _to: string, + _tokenId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + /** + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful + */ + awaitTransactionSuccessAsync( + _from: string, + _to: string, + _tokenId: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const txHashPromise = self.safeTransferFrom1.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + /** + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync( + _from: string, + _to: string, + _tokenId: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + _from: string, + _to: string, + _tokenId: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).safeTransferFrom1.callAsync(_from, _to, _tokenId, txData); + const txHash = await (this as any).safeTransferFrom1.sendTransactionAsync(_from, _to, _tokenId, txData); + return txHash; + }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + _from: string, + _to: string, + _tokenId: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1468,7 +1433,11 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('symbol()', []); + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1488,9 +1457,9 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('symbol()'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1498,11 +1467,21 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, /** @@ -1510,11 +1489,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): [string, string, BigNumber] { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('symbol()'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -1522,11 +1501,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('symbol()'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1534,32 +1513,48 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('symbol()'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256)'); return abiEncoder.getSelector(); }, }; /** - * Function to burn a token - * Reverts if the given token ID doesn't exist or not called by contract owner + * Throws unless `msg.sender` is the current owner, an authorized + * operator, or the approved address for this NFT. Throws if `_from` is + * not the current owner. Throws if `_to` is the zero address. Throws if + * `_tokenId` is not a valid NFT. When transfer is complete, this function + * checks if `_to` is a smart contract (code size > 0). If so, it calls + * `onERC721Received` on `_to` and throws if the return value is not + * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. */ - public burn = { + public safeTransferFrom2 = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param _owner Owner of token with given token ID - * @param _tokenId ID of the token to be burned by the msg.sender + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - _owner: string, + _from: string, + _to: string, _tokenId: BigNumber, + _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1578,23 +1573,35 @@ export class DummyERC721TokenContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param _owner Owner of token with given token ID - * @param _tokenId ID of the token to be burned by the msg.sender + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - _owner: string, + _from: string, + _to: string, _tokenId: BigNumber, + _data: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('_owner', _owner); + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.burn.sendTransactionAsync(_owner.toLowerCase(), _tokenId, txData); + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1609,20 +1616,31 @@ export class DummyERC721TokenContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _owner Owner of token with given token ID - * @param _tokenId ID of the token to be burned by the msg.sender + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - _owner: string, + _from: string, + _to: string, _tokenId: BigNumber, + _data: string, txData?: Partial | undefined, ): Promise { - assert.isString('_owner', _owner); + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1639,29 +1657,43 @@ export class DummyERC721TokenContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - _owner: string, + _from: string, + _to: string, _tokenId: BigNumber, + _data: string, txData?: Partial | undefined, ): Promise { - await (this as any).burn.callAsync(_owner, _tokenId, txData); - const txHash = await (this as any).burn.sendTransactionAsync(_owner, _tokenId, txData); + await (this as any).safeTransferFrom2.callAsync(_from, _to, _tokenId, _data, txData); + const txHash = await (this as any).safeTransferFrom2.sendTransactionAsync( + _from, + _to, + _tokenId, + _data, + txData, + ); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _owner Owner of token with given token ID - * @param _tokenId ID of the token to be burned by the msg.sender + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` */ async callAsync( - _owner: string, + _from: string, + _to: string, _tokenId: BigNumber, + _data: string, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isString('_owner', _owner); + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1671,7 +1703,12 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('burn(address,uint256)', [_owner.toLowerCase(), _tokenId]); + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1691,7 +1728,7 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1701,18 +1738,22 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _owner Owner of token with given token ID - * @param _tokenId ID of the token to be burned by the msg.sender + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_owner: string, _tokenId: BigNumber): string { - assert.isString('_owner', _owner); + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('burn(address,uint256)', [ - _owner.toLowerCase(), - _tokenId, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'safeTransferFrom(address,address,uint256,bytes)', + [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], + ); return abiEncodedTransactionData; }, /** @@ -1720,11 +1761,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, BigNumber] { + getABIDecodedTransactionData(callData: string): [string, string, BigNumber, string] { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber, string]>(callData); return abiDecodedCallData; }, /** @@ -1734,7 +1775,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1744,7 +1785,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('burn(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); return abiEncoder.getSelector(); }, }; @@ -1858,30 +1899,126 @@ export class DummyERC721TokenContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync( - _operator: string, - _approved: boolean, - txData?: Partial | undefined, - ): Promise { - await (this as any).setApprovalForAll.callAsync(_operator, _approved, txData); - const txHash = await (this as any).setApprovalForAll.sendTransactionAsync(_operator, _approved, txData); - return txHash; + async validateAndSendTransactionAsync( + _operator: string, + _approved: boolean, + txData?: Partial | undefined, + ): Promise { + await (this as any).setApprovalForAll.callAsync(_operator, _approved, txData); + const txHash = await (this as any).setApprovalForAll.sendTransactionAsync(_operator, _approved, txData); + return txHash; + }, + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval + */ + async callAsync( + _operator: string, + _approved: boolean, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as DummyERC721TokenContract; + const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param _operator Address to add to the set of authorized operators + * @param _approved True if the operator is approved, false to revoke approval + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(_operator: string, _approved: boolean): string { + assert.isString('_operator', _operator); + assert.isBoolean('_approved', _approved); + const self = (this as any) as DummyERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ + _operator.toLowerCase(), + _approved, + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): [string, boolean] { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode<[string, boolean]>(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): void { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as DummyERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); + return abiEncoder.getSelector(); }, + }; + public symbol = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _operator Address to add to the set of authorized operators - * @param _approved True if the operator is approved, false to revoke approval */ - async callAsync( - _operator: string, - _approved: boolean, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1891,10 +2028,7 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const encodedData = self._strictEncodeArguments('symbol()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1914,9 +2048,9 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); + const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1924,18 +2058,11 @@ export class DummyERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _operator Address to add to the set of authorized operators - * @param _approved True if the operator is approved, false to revoke approval * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_operator: string, _approved: boolean): string { - assert.isString('_operator', _operator); - assert.isBoolean('_approved', _approved); + getABIEncodedTransactionData(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setApprovalForAll(address,bool)', [ - _operator.toLowerCase(), - _approved, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('symbol()', []); return abiEncodedTransactionData; }, /** @@ -1943,11 +2070,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, boolean] { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); + const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, boolean]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -1955,11 +2082,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); + const abiEncoder = self._lookupAbiEncoder('symbol()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1967,7 +2094,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('setApprovalForAll(address,bool)'); + const abiEncoder = self._lookupAbiEncoder('symbol()'); return abiEncoder.getSelector(); }, }; @@ -1975,19 +2102,15 @@ export class DummyERC721TokenContract extends BaseContract { * Throws unless `msg.sender` is the current owner, an authorized * operator, or the approved address for this NFT. Throws if `_from` is * not the current owner. Throws if `_to` is the zero address. Throws if - * `_tokenId` is not a valid NFT. When transfer is complete, this function - * checks if `_to` is a smart contract (code size > 0). If so, it calls - * `onERC721Received` on `_to` and throws if the return value is not - * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. + * `_tokenId` is not a valid NFT. */ - public safeTransferFrom2 = { + public transferFrom = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. * @param _from The current owner of the NFT * @param _to The new owner * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @returns The hash of the transaction */ @@ -1995,19 +2118,16 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - _data: string, txData?: Partial | undefined, ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2030,7 +2150,6 @@ export class DummyERC721TokenContract extends BaseContract { * @param _from The current owner of the NFT * @param _to The new owner * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful @@ -2039,7 +2158,6 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - _data: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, @@ -2047,13 +2165,11 @@ export class DummyERC721TokenContract extends BaseContract { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); const self = (this as any) as DummyERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( + const txHashPromise = self.transferFrom.sendTransactionAsync( _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, txData, ); return new PromiseWithTransactionHash( @@ -2073,7 +2189,6 @@ export class DummyERC721TokenContract extends BaseContract { * @param _from The current owner of the NFT * @param _to The new owner * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @returns The hash of the transaction */ @@ -2081,19 +2196,16 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - _data: string, txData?: Partial | undefined, ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2114,17 +2226,10 @@ export class DummyERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - _data: string, txData?: Partial | undefined, ): Promise { - await (this as any).safeTransferFrom2.callAsync(_from, _to, _tokenId, _data, txData); - const txHash = await (this as any).safeTransferFrom2.sendTransactionAsync( - _from, - _to, - _tokenId, - _data, - txData, - ); + await (this as any).transferFrom.callAsync(_from, _to, _tokenId, txData); + const txHash = await (this as any).transferFrom.sendTransactionAsync(_from, _to, _tokenId, txData); return txHash; }, /** @@ -2134,20 +2239,17 @@ export class DummyERC721TokenContract extends BaseContract { * @param _from The current owner of the NFT * @param _to The new owner * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` */ async callAsync( _from: string, _to: string, _tokenId: BigNumber, - _data: string, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -2157,11 +2259,10 @@ export class DummyERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -2182,7 +2283,7 @@ export class DummyERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -2195,19 +2296,18 @@ export class DummyERC721TokenContract extends BaseContract { * @param _from The current owner of the NFT * @param _to The new owner * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'safeTransferFrom(address,address,uint256,bytes)', - [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + ]); return abiEncodedTransactionData; }, /** @@ -2215,11 +2315,11 @@ export class DummyERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, string, BigNumber, string] { + getABIDecodedTransactionData(callData: string): [string, string, BigNumber] { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber, string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -2229,7 +2329,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -2239,113 +2339,7 @@ export class DummyERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); - return abiEncoder.getSelector(); - }, - }; - public isApprovedForAll = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param _owner The address that owns the NFTs - * @param _operator The address that acts on behalf of the owner - * @returns True if `_operator` is an approved operator for `_owner`, false otherwise - */ - async callAsync( - _owner: string, - _operator: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); - assert.isString('_operator', _operator); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as DummyERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param _owner The address that owns the NFTs - * @param _operator The address that acts on behalf of the owner - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(_owner: string, _operator: string): string { - assert.isString('_owner', _owner); - assert.isString('_operator', _operator); - const self = (this as any) as DummyERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), - ]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): string { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): boolean { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as DummyERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); return abiEncoder.getSelector(); }, }; @@ -2608,83 +2602,95 @@ export class DummyERC721TokenContract extends BaseContract { public static ABI(): ContractAbi { const abi = [ { - constant: true, - inputs: [], - name: 'name', - outputs: [ + inputs: [ { - name: '', + name: '_name', + type: 'string', + }, + { + name: '_symbol', type: 'string', }, ], + outputs: [], payable: false, - stateMutability: 'view', - type: 'function', + stateMutability: 'nonpayable', + type: 'constructor', }, { - constant: true, + anonymous: false, inputs: [ { - name: '_tokenId', - type: 'uint256', + name: '_owner', + type: 'address', + indexed: true, }, - ], - name: 'getApproved', - outputs: [ { - name: '', + name: '_approved', type: 'address', + indexed: true, + }, + { + name: '_tokenId', + type: 'uint256', + indexed: true, }, ], - payable: false, - stateMutability: 'view', - type: 'function', + name: 'Approval', + outputs: [], + type: 'event', }, { - constant: false, + anonymous: false, inputs: [ { - name: '_approved', + name: '_owner', type: 'address', + indexed: true, }, { - name: '_tokenId', - type: 'uint256', + name: '_operator', + type: 'address', + indexed: true, + }, + { + name: '_approved', + type: 'bool', + indexed: false, }, ], - name: 'approve', + name: 'ApprovalForAll', outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', + type: 'event', }, { - constant: false, + anonymous: false, inputs: [ { name: '_from', type: 'address', + indexed: true, }, { name: '_to', type: 'address', + indexed: true, }, { name: '_tokenId', type: 'uint256', + indexed: true, }, ], - name: 'transferFrom', + name: 'Transfer', outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', + type: 'event', }, { constant: false, inputs: [ { - name: '_to', + name: '_approved', type: 'address', }, { @@ -2692,21 +2698,36 @@ export class DummyERC721TokenContract extends BaseContract { type: 'uint256', }, ], - name: 'mint', + name: 'approve', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, { - constant: false, + constant: true, inputs: [ { - name: '_from', + name: '_owner', type: 'address', }, + ], + name: 'balanceOf', + outputs: [ { - name: '_to', + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_owner', type: 'address', }, { @@ -2714,7 +2735,7 @@ export class DummyERC721TokenContract extends BaseContract { type: 'uint256', }, ], - name: 'safeTransferFrom', + name: 'burn', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -2728,7 +2749,7 @@ export class DummyERC721TokenContract extends BaseContract { type: 'uint256', }, ], - name: 'ownerOf', + name: 'getApproved', outputs: [ { name: '', @@ -2746,26 +2767,48 @@ export class DummyERC721TokenContract extends BaseContract { name: '_owner', type: 'address', }, + { + name: '_operator', + type: 'address', + }, ], - name: 'balanceOf', + name: 'isApprovedForAll', outputs: [ { name: '', - type: 'uint256', + type: 'bool', }, ], payable: false, stateMutability: 'view', type: 'function', }, + { + constant: false, + inputs: [ + { + name: '_to', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', + }, + ], + name: 'mint', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, { constant: true, inputs: [], - name: 'owner', + name: 'name', outputs: [ { name: '', - type: 'address', + type: 'string', }, ], payable: false, @@ -2775,11 +2818,11 @@ export class DummyERC721TokenContract extends BaseContract { { constant: true, inputs: [], - name: 'symbol', + name: 'owner', outputs: [ { name: '', - type: 'string', + type: 'address', }, ], payable: false, @@ -2787,36 +2830,41 @@ export class DummyERC721TokenContract extends BaseContract { type: 'function', }, { - constant: false, + constant: true, inputs: [ - { - name: '_owner', - type: 'address', - }, { name: '_tokenId', type: 'uint256', }, ], - name: 'burn', - outputs: [], + name: 'ownerOf', + outputs: [ + { + name: '', + type: 'address', + }, + ], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { constant: false, inputs: [ { - name: '_operator', + name: '_from', type: 'address', }, { - name: '_approved', - type: 'bool', + name: '_to', + type: 'address', + }, + { + name: '_tokenId', + type: 'uint256', }, ], - name: 'setApprovalForAll', + name: 'safeTransferFrom', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -2849,126 +2897,72 @@ export class DummyERC721TokenContract extends BaseContract { type: 'function', }, { - constant: true, + constant: false, inputs: [ - { - name: '_owner', - type: 'address', - }, { name: '_operator', type: 'address', }, - ], - name: 'isApprovedForAll', - outputs: [ { - name: '', + name: '_approved', type: 'bool', }, ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'newOwner', - type: 'address', - }, - ], - name: 'transferOwnership', + name: 'setApprovalForAll', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, { - inputs: [ - { - name: '_name', - type: 'string', - }, + constant: true, + inputs: [], + name: 'symbol', + outputs: [ { - name: '_symbol', + name: '', type: 'string', }, ], - outputs: [], payable: false, - stateMutability: 'nonpayable', - type: 'constructor', + stateMutability: 'view', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { name: '_from', type: 'address', - indexed: true, }, { name: '_to', type: 'address', - indexed: true, - }, - { - name: '_tokenId', - type: 'uint256', - indexed: true, - }, - ], - name: 'Transfer', - outputs: [], - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - name: '_owner', - type: 'address', - indexed: true, - }, - { - name: '_approved', - type: 'address', - indexed: true, }, { name: '_tokenId', type: 'uint256', - indexed: true, }, ], - name: 'Approval', + name: 'transferFrom', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: '_owner', - type: 'address', - indexed: true, - }, - { - name: '_operator', + name: 'newOwner', type: 'address', - indexed: true, - }, - { - name: '_approved', - type: 'bool', - indexed: false, }, ], - name: 'ApprovalForAll', + name: 'transferOwnership', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, ] as ContractAbi; return abi; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts index d958edbacc..a1bbb9db65 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts index eb63ce79d8..6acd360ab7 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -55,7 +49,7 @@ export interface ERC1155ProxyAuthorizedAddressRemovedEventArgs extends DecodedLo // tslint:disable-next-line:class-name export class ERC1155ProxyContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a85e59e411610076578063b91816111161005b578063b918161114610285578063d39de6e9146102cc578063f2fde38b14610324576100be565b8063a85e59e4146101b2578063ae25532e14610248576100be565b806370712939116100a7578063707129391461013e5780638da5cb5b146101715780639ad2674414610179576100be565b806342f1181e146100c3578063494503d4146100f8575b600080fd5b6100f6600480360360208110156100d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610357565b005b6101156004803603602081101561010e57600080fd5b5035610543565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f66004803603602081101561015457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610577565b61011561086a565b6100f66004803603604081101561018f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610886565b6100f6600480360360808110156101c857600080fd5b8101906020810181356401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c37565b610250611138565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6102b86004803603602081101561029b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611159565b604080519115158252519081900360200190f35b6102d461116e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b6100f66004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111dd565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561047257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061055057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610823578173ffffffffffffffffffffffffffffffffffffffff166002828154811061070b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561081b57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061076357fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061079657fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906108159082611407565b50610823565b6001016106dd565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461090c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610a1057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610a3457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610b3d57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610b7057fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610bef9082611407565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b3360009081526001602052604090205460ff16610cb557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53454e4445525f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b60006060806060610d0b60048a8a90508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6112c3169050565b8060200190516080811015610d1f57600080fd5b815160208301805160405192949293830192919084640100000000821115610d4657600080fd5b908301906020820185811115610d5b57600080fd5b8251866020820283011164010000000082111715610d7857600080fd5b82525081516020918201928201910280838360005b83811015610da5578181015183820152602001610d8d565b5050505090500160405260200180516040519392919084640100000000821115610dce57600080fd5b908301906020820185811115610de357600080fd5b8251866020820283011164010000000082111715610e0057600080fd5b82525081516020918201928201910280838360005b83811015610e2d578181015183820152602001610e15565b5050505090500160405260200180516040519392919084640100000000821115610e5657600080fd5b908301906020820185811115610e6b57600080fd5b8251640100000000811182820188101715610e8557600080fd5b82525081516020918201929091019080838360005b83811015610eb2578181015183820152602001610e9a565b50505050905090810190601f168015610edf5780820380516001836020036101000a031916815260200191505b506040525050509350935093509350600082519050606081604051908082528060200260200182016040528015610f20578160200160208202803883390190505b50905060005b828114610f6957610f4a858281518110610f3c57fe5b602002602001015189611306565b828281518110610f5657fe5b6020908102919091010152600101610f26565b508573ffffffffffffffffffffffffffffffffffffffff16632eb2c2d68a8a8885886040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561104657818101518382015260200161102e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561108557818101518382015260200161106d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156110c15781810151838201526020016110a9565b50505050905090810190601f1680156110ee5780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050505050505050505050565b6000604051808061144f603091396030019050604051809103902090505b90565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156111d357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111a8575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156112c057600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6060818311156112e1576112e16112dc60008585611340565b6113df565b83518211156112fa576112fa6112dc6001848751611340565b50819003910190815290565b6000826113155750600061133a565b8282028284828161132257fe5b0414611337576113376112dc600186866113e7565b90505b92915050565b6060632800659560e01b8484846040516024018084600781111561136057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561136057fe5b81548183558181111561142b5760008381526020902061142b918101908301611430565b505050565b61115691905b8082111561144a5760008155600101611436565b509056fe4552433131353541737365747328616464726573732c75696e743235365b5d2c75696e743235365b5d2c627974657329a265627a7a72315820a50ffa29fef904f0cef78bdd2adcc60c0524b74efa75f663e70092d60203c26464736f6c634300050b0032'; + '0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a85e59e411610076578063b91816111161005b578063b918161114610285578063d39de6e9146102cc578063f2fde38b14610324576100be565b8063a85e59e4146101b2578063ae25532e14610248576100be565b806370712939116100a7578063707129391461013e5780638da5cb5b146101715780639ad2674414610179576100be565b806342f1181e146100c3578063494503d4146100f8575b600080fd5b6100f6600480360360208110156100d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610357565b005b6101156004803603602081101561010e57600080fd5b5035610543565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f66004803603602081101561015457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610577565b61011561086a565b6100f66004803603604081101561018f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610886565b6100f6600480360360808110156101c857600080fd5b8101906020810181356401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c37565b610250611138565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6102b86004803603602081101561029b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611159565b604080519115158252519081900360200190f35b6102d461116e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b6100f66004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111dd565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561047257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061055057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610823578173ffffffffffffffffffffffffffffffffffffffff166002828154811061070b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561081b57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061076357fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061079657fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906108159082611407565b50610823565b6001016106dd565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461090c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610a1057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610a3457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610b3d57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610b7057fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610bef9082611407565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b3360009081526001602052604090205460ff16610cb557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53454e4445525f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b60006060806060610d0b60048a8a90508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6112c3169050565b8060200190516080811015610d1f57600080fd5b815160208301805160405192949293830192919084640100000000821115610d4657600080fd5b908301906020820185811115610d5b57600080fd5b8251866020820283011164010000000082111715610d7857600080fd5b82525081516020918201928201910280838360005b83811015610da5578181015183820152602001610d8d565b5050505090500160405260200180516040519392919084640100000000821115610dce57600080fd5b908301906020820185811115610de357600080fd5b8251866020820283011164010000000082111715610e0057600080fd5b82525081516020918201928201910280838360005b83811015610e2d578181015183820152602001610e15565b5050505090500160405260200180516040519392919084640100000000821115610e5657600080fd5b908301906020820185811115610e6b57600080fd5b8251640100000000811182820188101715610e8557600080fd5b82525081516020918201929091019080838360005b83811015610eb2578181015183820152602001610e9a565b50505050905090810190601f168015610edf5780820380516001836020036101000a031916815260200191505b506040525050509350935093509350600082519050606081604051908082528060200260200182016040528015610f20578160200160208202803883390190505b50905060005b828114610f6957610f4a858281518110610f3c57fe5b602002602001015189611306565b828281518110610f5657fe5b6020908102919091010152600101610f26565b508573ffffffffffffffffffffffffffffffffffffffff16632eb2c2d68a8a8885886040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561104657818101518382015260200161102e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561108557818101518382015260200161106d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156110c15781810151838201526020016110a9565b50505050905090810190601f1680156110ee5780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050505050505050505050565b6000604051808061144f603091396030019050604051809103902090505b90565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156111d357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111a8575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156112c057600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6060818311156112e1576112e16112dc60008585611340565b6113df565b83518211156112fa576112fa6112dc6001848751611340565b50819003910190815290565b6000826113155750600061133a565b8282028284828161132257fe5b0414611337576113376112dc600186866113e7565b90505b92915050565b6060632800659560e01b8484846040516024018084600781111561136057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561136057fe5b81548183558181111561142b5760008381526020902061142b918101908301611430565b505050565b61115691905b8082111561144a5760008155600101611436565b509056fe4552433131353541737365747328616464726573732c75696e743235365b5d2c75696e743235365b5d2c627974657329a265627a7a72315820be5e6597d38133fd52aac17250498790f106d5d4d0e4ab30d0e854a2db1e2ffe64736f6c634300050c0032'; /** * Authorizes an address. */ @@ -328,103 +322,111 @@ export class ERC1155ProxyContract extends BaseContract { return abiEncoder.getSelector(); }, }; - /** - * Removes authorizion of an address. - */ - public removeAuthorizedAddress = { + public authorized = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param target Address to remove authorization from. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. */ - async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); + async callAsync( + index_0: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('index_0', index_0); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('authorized(address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; }, /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param target Address to remove authorization from. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string */ - awaitTransactionSuccessAsync( - target: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('target', target); + getABIEncodedTransactionData(index_0: string): string { + assert.isString('index_0', index_0); const self = (this as any) as ERC1155ProxyContract; - const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ + index_0.toLowerCase(), + ]); + return abiEncodedTransactionData; }, /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param target Address to remove authorization from. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { - assert.isString('target', target); + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + const abiEncoder = self._lookupAbiEncoder('authorized(address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; }, - async validateAndSendTransactionAsync(target: string, txData?: Partial | undefined): Promise { - await (this as any).removeAuthorizedAddress.callAsync(target, txData); - const txHash = await (this as any).removeAuthorizedAddress.sendTransactionAsync(target, txData); - return txHash; + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): boolean { + const self = (this as any) as ERC1155ProxyContract; + const abiEncoder = self._lookupAbiEncoder('authorized(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ERC1155ProxyContract; + const abiEncoder = self._lookupAbiEncoder('authorized(address)'); + return abiEncoder.getSelector(); }, + }; + /** + * Gets all authorized addresses. + */ + public getAuthorizedAddresses = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param target Address to remove authorization from. + * @returns Array of authorized addresses. */ - async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.isString('target', target); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -434,7 +436,7 @@ export class ERC1155ProxyContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -454,9 +456,9 @@ export class ERC1155ProxyContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); + const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -464,15 +466,11 @@ export class ERC1155ProxyContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param target Address to remove authorization from. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(target: string): string { - assert.isString('target', target); + getABIEncodedTransactionData(): string { const self = (this as any) as ERC1155ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ - target.toLowerCase(), - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); return abiEncodedTransactionData; }, /** @@ -480,11 +478,11 @@ export class ERC1155ProxyContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); + const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -492,11 +490,11 @@ export class ERC1155ProxyContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): string[] { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); + const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -504,15 +502,19 @@ export class ERC1155ProxyContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); + const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); return abiEncoder.getSelector(); }, }; - public owner = { + /** + * Gets the proxy id associated with the proxy address. + */ + public getProxyId = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @returns Proxy id. */ async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -524,27 +526,19 @@ export class ERC1155ProxyContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('owner()', []); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; + const encodedData = self._strictEncodeArguments('getProxyId()', []); + const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); + let rawCallResult; try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + rawCallResult = await self.evmExecAsync(encodedDataBytes); } catch (err) { BaseContract._throwIfThrownErrorIsRevertError(err); throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('owner()'); + + const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -558,7 +552,7 @@ export class ERC1155ProxyContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as ERC1155ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); return abiEncodedTransactionData; }, /** @@ -568,7 +562,7 @@ export class ERC1155ProxyContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -580,7 +574,7 @@ export class ERC1155ProxyContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('getProxyId()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -590,44 +584,121 @@ export class ERC1155ProxyContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('getProxyId()'); return abiEncoder.getSelector(); }, }; - /** - * Removes authorizion of an address. - */ - public removeAuthorizedAddressAtIndex = { + public owner = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param target Address to remove authorization from. - * @param index Index of target in authorities array. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. */ - async sendTransactionAsync( - target: string, - index: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('target', target); - assert.isBigNumber('index', index); - const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ERC1155ProxyContract; + const encodedData = self._strictEncodeArguments('owner()', []); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(): string { + const self = (this as any) as ERC1155ProxyContract; + const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): void { + const self = (this as any) as ERC1155ProxyContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): string { + const self = (this as any) as ERC1155ProxyContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ERC1155ProxyContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + return abiEncoder.getSelector(); + }, + }; + /** + * Removes authorizion of an address. + */ + public removeAuthorizedAddress = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param target Address to remove authorization from. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + assert.isString('target', target); + const self = (this as any) as ERC1155ProxyContract; + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); @@ -637,26 +708,19 @@ export class ERC1155ProxyContract extends BaseContract { * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. * @param target Address to remove authorization from. - * @param index Index of target in authorities array. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( target: string, - index: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { assert.isString('target', target); - assert.isBigNumber('index', index); const self = (this as any) as ERC1155ProxyContract; - const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( - target.toLowerCase(), - index, - txData, - ); + const txHashPromise = self.removeAuthorizedAddress.sendTransactionAsync(target.toLowerCase(), txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -672,22 +736,13 @@ export class ERC1155ProxyContract extends BaseContract { /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. * @param target Address to remove authorization from. - * @param index Index of target in authorities array. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync( - target: string, - index: BigNumber, - txData?: Partial | undefined, - ): Promise { + async estimateGasAsync(target: string, txData?: Partial | undefined): Promise { assert.isString('target', target); - assert.isBigNumber('index', index); const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -703,17 +758,9 @@ export class ERC1155ProxyContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync( - target: string, - index: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).removeAuthorizedAddressAtIndex.callAsync(target, index, txData); - const txHash = await (this as any).removeAuthorizedAddressAtIndex.sendTransactionAsync( - target, - index, - txData, - ); + async validateAndSendTransactionAsync(target: string, txData?: Partial | undefined): Promise { + await (this as any).removeAuthorizedAddress.callAsync(target, txData); + const txHash = await (this as any).removeAuthorizedAddress.sendTransactionAsync(target, txData); return txHash; }, /** @@ -721,16 +768,9 @@ export class ERC1155ProxyContract extends BaseContract { * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param target Address to remove authorization from. - * @param index Index of target in authorities array. */ - async callAsync( - target: string, - index: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { + async callAsync(target: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.isString('target', target); - assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -740,10 +780,7 @@ export class ERC1155ProxyContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ - target.toLowerCase(), - index, - ]); + const encodedData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [target.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -763,7 +800,7 @@ export class ERC1155ProxyContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -774,17 +811,14 @@ export class ERC1155ProxyContract extends BaseContract { * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). * @param target Address to remove authorization from. - * @param index Index of target in authorities array. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(target: string, index: BigNumber): string { + getABIEncodedTransactionData(target: string): string { assert.isString('target', target); - assert.isBigNumber('index', index); const self = (this as any) as ERC1155ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'removeAuthorizedAddressAtIndex(address,uint256)', - [target.toLowerCase(), index], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('removeAuthorizedAddress(address)', [ + target.toLowerCase(), + ]); return abiEncodedTransactionData; }, /** @@ -792,11 +826,11 @@ export class ERC1155ProxyContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, BigNumber] { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -806,7 +840,7 @@ export class ERC1155ProxyContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -816,43 +850,33 @@ export class ERC1155ProxyContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddress(address)'); return abiEncoder.getSelector(); }, }; /** - * Transfers batch of ERC1155 assets. Either succeeds or throws. + * Removes authorizion of an address. */ - public transferFrom = { + public removeAuthorizedAddressAtIndex = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param assetData Byte array encoded with ERC1155 token address, array of - * ids, array of values, and callback data. - * @param from Address to transfer assets from. - * @param to Address to transfer assets to. - * @param amount Amount that will be multiplied with each element of - * `assetData.values` to scale the values that will be transferred. + * @param target Address to remove authorization from. + * @param index Index of target in authorities array. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - assetData: string, - from: string, - to: string, - amount: BigNumber, + target: string, + index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); + assert.isString('target', target); + assert.isBigNumber('index', index); const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -872,35 +896,25 @@ export class ERC1155ProxyContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param assetData Byte array encoded with ERC1155 token address, array of - * ids, array of values, and callback data. - * @param from Address to transfer assets from. - * @param to Address to transfer assets to. - * @param amount Amount that will be multiplied with each element of - * `assetData.values` to scale the values that will be transferred. + * @param target Address to remove authorization from. + * @param index Index of target in authorities array. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - assetData: string, - from: string, - to: string, - amount: BigNumber, + target: string, + index: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); + assert.isString('target', target); + assert.isBigNumber('index', index); const self = (this as any) as ERC1155ProxyContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, + const txHashPromise = self.removeAuthorizedAddressAtIndex.sendTransactionAsync( + target.toLowerCase(), + index, txData, ); return new PromiseWithTransactionHash( @@ -917,32 +931,22 @@ export class ERC1155ProxyContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param assetData Byte array encoded with ERC1155 token address, array of - * ids, array of values, and callback data. - * @param from Address to transfer assets from. - * @param to Address to transfer assets to. - * @param amount Amount that will be multiplied with each element of - * `assetData.values` to scale the values that will be transferred. + * @param target Address to remove authorization from. + * @param index Index of target in authorities array. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - assetData: string, - from: string, - to: string, - amount: BigNumber, + target: string, + index: BigNumber, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); + assert.isString('target', target); + assert.isBigNumber('index', index); const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -960,39 +964,33 @@ export class ERC1155ProxyContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - assetData: string, - from: string, - to: string, - amount: BigNumber, + target: string, + index: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).transferFrom.callAsync(assetData, from, to, amount, txData); - const txHash = await (this as any).transferFrom.sendTransactionAsync(assetData, from, to, amount, txData); - return txHash; + await (this as any).removeAuthorizedAddressAtIndex.callAsync(target, index, txData); + const txHash = await (this as any).removeAuthorizedAddressAtIndex.sendTransactionAsync( + target, + index, + txData, + ); + return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param assetData Byte array encoded with ERC1155 token address, array of - * ids, array of values, and callback data. - * @param from Address to transfer assets from. - * @param to Address to transfer assets to. - * @param amount Amount that will be multiplied with each element of - * `assetData.values` to scale the values that will be transferred. + * @param target Address to remove authorization from. + * @param index Index of target in authorities array. */ async callAsync( - assetData: string, - from: string, - to: string, - amount: BigNumber, + target: string, + index: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); + assert.isString('target', target); + assert.isBigNumber('index', index); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1002,11 +1000,9 @@ export class ERC1155ProxyContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ - assetData, - from.toLowerCase(), - to.toLowerCase(), - amount, + const encodedData = self._strictEncodeArguments('removeAuthorizedAddressAtIndex(address,uint256)', [ + target.toLowerCase(), + index, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1027,7 +1023,7 @@ export class ERC1155ProxyContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1037,23 +1033,17 @@ export class ERC1155ProxyContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param assetData Byte array encoded with ERC1155 token address, array of - * ids, array of values, and callback data. - * @param from Address to transfer assets from. - * @param to Address to transfer assets to. - * @param amount Amount that will be multiplied with each element of - * `assetData.values` to scale the values that will be transferred. + * @param target Address to remove authorization from. + * @param index Index of target in authorities array. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(assetData: string, from: string, to: string, amount: BigNumber): string { - assert.isString('assetData', assetData); - assert.isString('from', from); - assert.isString('to', to); - assert.isBigNumber('amount', amount); + getABIEncodedTransactionData(target: string, index: BigNumber): string { + assert.isString('target', target); + assert.isBigNumber('index', index); const self = (this as any) as ERC1155ProxyContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'transferFrom(bytes,address,address,uint256)', - [assetData, from.toLowerCase(), to.toLowerCase(), amount], + 'removeAuthorizedAddressAtIndex(address,uint256)', + [target.toLowerCase(), index], ); return abiEncodedTransactionData; }, @@ -1062,11 +1052,11 @@ export class ERC1155ProxyContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, string, string, BigNumber] { + getABIDecodedTransactionData(callData: string): [string, BigNumber] { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string, string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -1076,7 +1066,7 @@ export class ERC1155ProxyContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1086,197 +1076,183 @@ export class ERC1155ProxyContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('removeAuthorizedAddressAtIndex(address,uint256)'); return abiEncoder.getSelector(); }, }; /** - * Gets the proxy id associated with the proxy address. + * Transfers batch of ERC1155 assets. Either succeeds or throws. */ - public getProxyId = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @returns Proxy id. - */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('getProxyId()', []); - const encodedDataBytes = Buffer.from(encodedData.substr(2), 'hex'); - - let rawCallResult; - try { - rawCallResult = await self.evmExecAsync(encodedDataBytes); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - - const abiEncoder = self._lookupAbiEncoder('getProxyId()'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(): string { - const self = (this as any) as ERC1155ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getProxyId()', []); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): void { - const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('getProxyId()'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): string { - const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('getProxyId()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, + public transferFrom = { /** - * Returns the 4 byte function selector as a hex string. + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param assetData Byte array encoded with ERC1155 token address, array of + * ids, array of values, and callback data. + * @param from Address to transfer assets from. + * @param to Address to transfer assets to. + * @param amount Amount that will be multiplied with each element of + * `assetData.values` to scale the values that will be transferred. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - getSelector(): string { + async sendTransactionAsync( + assetData: string, + from: string, + to: string, + amount: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('getProxyId()'); - return abiEncoder.getSelector(); - }, - }; - public authorized = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - */ - async callAsync( - index_0: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('index_0', index_0); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('authorized(address)', [index_0.toLowerCase()]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('authorized(address)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(index_0: string): string { - assert.isString('index_0', index_0); - const self = (this as any) as ERC1155ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('authorized(address)', [ - index_0.toLowerCase(), - ]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): string { - const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('authorized(address)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param assetData Byte array encoded with ERC1155 token address, array of + * ids, array of values, and callback data. + * @param from Address to transfer assets from. + * @param to Address to transfer assets to. + * @param amount Amount that will be multiplied with each element of + * `assetData.values` to scale the values that will be transferred. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ - getABIDecodedReturnData(returnData: string): boolean { + awaitTransactionSuccessAsync( + assetData: string, + from: string, + to: string, + amount: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('authorized(address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; + const txHashPromise = self.transferFrom.sendTransactionAsync( + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, /** - * Returns the 4 byte function selector as a hex string. + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param assetData Byte array encoded with ERC1155 token address, array of + * ids, array of values, and callback data. + * @param from Address to transfer assets from. + * @param to Address to transfer assets to. + * @param amount Amount that will be multiplied with each element of + * `assetData.values` to scale the values that will be transferred. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - getSelector(): string { + async estimateGasAsync( + assetData: string, + from: string, + to: string, + amount: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('authorized(address)'); - return abiEncoder.getSelector(); + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + assetData: string, + from: string, + to: string, + amount: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).transferFrom.callAsync(assetData, from, to, amount, txData); + const txHash = await (this as any).transferFrom.sendTransactionAsync(assetData, from, to, amount, txData); + return txHash; }, - }; - /** - * Gets all authorized addresses. - */ - public getAuthorizedAddresses = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @returns Array of authorized addresses. + * @param assetData Byte array encoded with ERC1155 token address, array of + * ids, array of values, and callback data. + * @param from Address to transfer assets from. + * @param to Address to transfer assets to. + * @param amount Amount that will be multiplied with each element of + * `assetData.values` to scale the values that will be transferred. */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + assetData: string, + from: string, + to: string, + amount: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1286,7 +1262,12 @@ export class ERC1155ProxyContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ERC1155ProxyContract; - const encodedData = self._strictEncodeArguments('getAuthorizedAddresses()', []); + const encodedData = self._strictEncodeArguments('transferFrom(bytes,address,address,uint256)', [ + assetData, + from.toLowerCase(), + to.toLowerCase(), + amount, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1306,9 +1287,9 @@ export class ERC1155ProxyContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1316,11 +1297,24 @@ export class ERC1155ProxyContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param assetData Byte array encoded with ERC1155 token address, array of + * ids, array of values, and callback data. + * @param from Address to transfer assets from. + * @param to Address to transfer assets to. + * @param amount Amount that will be multiplied with each element of + * `assetData.values` to scale the values that will be transferred. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(assetData: string, from: string, to: string, amount: BigNumber): string { + assert.isString('assetData', assetData); + assert.isString('from', from); + assert.isString('to', to); + assert.isBigNumber('amount', amount); const self = (this as any) as ERC1155ProxyContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAuthorizedAddresses()', []); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'transferFrom(bytes,address,address,uint256)', + [assetData, from.toLowerCase(), to.toLowerCase(), amount], + ); return abiEncodedTransactionData; }, /** @@ -1328,11 +1322,11 @@ export class ERC1155ProxyContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): [string, string, string, BigNumber] { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string, string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -1340,11 +1334,11 @@ export class ERC1155ProxyContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string[] { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1352,7 +1346,7 @@ export class ERC1155ProxyContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ERC1155ProxyContract; - const abiEncoder = self._lookupAbiEncoder('getAuthorizedAddresses()'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(bytes,address,address,uint256)'); return abiEncoder.getSelector(); }, }; @@ -1599,37 +1593,40 @@ export class ERC1155ProxyContract extends BaseContract { public static ABI(): ContractAbi { const abi = [ { - constant: false, + anonymous: false, inputs: [ { name: 'target', type: 'address', + indexed: true, + }, + { + name: 'caller', + type: 'address', + indexed: true, }, ], - name: 'addAuthorizedAddress', + name: 'AuthorizedAddressAdded', outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', + type: 'event', }, { - constant: true, + anonymous: false, inputs: [ { - name: 'index_0', - type: 'uint256', + name: 'target', + type: 'address', + indexed: true, }, - ], - name: 'authorities', - outputs: [ { - name: '', + name: 'caller', type: 'address', + indexed: true, }, ], - payable: false, - stateMutability: 'view', - type: 'function', + name: 'AuthorizedAddressRemoved', + outputs: [], + type: 'event', }, { constant: false, @@ -1639,7 +1636,7 @@ export class ERC1155ProxyContract extends BaseContract { type: 'address', }, ], - name: 'removeAuthorizedAddress', + name: 'addAuthorizedAddress', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -1647,8 +1644,13 @@ export class ERC1155ProxyContract extends BaseContract { }, { constant: true, - inputs: [], - name: 'owner', + inputs: [ + { + name: 'index_0', + type: 'uint256', + }, + ], + name: 'authorities', outputs: [ { name: '', @@ -1660,47 +1662,36 @@ export class ERC1155ProxyContract extends BaseContract { type: 'function', }, { - constant: false, + constant: true, inputs: [ { - name: 'target', + name: 'index_0', type: 'address', }, + ], + name: 'authorized', + outputs: [ { - name: 'index', - type: 'uint256', + name: '', + type: 'bool', }, ], - name: 'removeAuthorizedAddressAtIndex', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { - constant: false, - inputs: [ - { - name: 'assetData', - type: 'bytes', - }, - { - name: 'from', - type: 'address', - }, - { - name: 'to', - type: 'address', - }, + constant: true, + inputs: [], + name: 'getAuthorizedAddresses', + outputs: [ { - name: 'amount', - type: 'uint256', + name: '', + type: 'address[]', }, ], - name: 'transferFrom', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { @@ -1719,17 +1710,12 @@ export class ERC1155ProxyContract extends BaseContract { }, { constant: true, - inputs: [ - { - name: 'index_0', - type: 'address', - }, - ], - name: 'authorized', + inputs: [], + name: 'owner', outputs: [ { name: '', - type: 'bool', + type: 'address', }, ], payable: false, @@ -1737,68 +1723,76 @@ export class ERC1155ProxyContract extends BaseContract { type: 'function', }, { - constant: true, - inputs: [], - name: 'getAuthorizedAddresses', - outputs: [ + constant: false, + inputs: [ { - name: '', - type: 'address[]', + name: 'target', + type: 'address', }, ], + name: 'removeAuthorizedAddress', + outputs: [], payable: false, - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', }, { constant: false, inputs: [ { - name: 'newOwner', + name: 'target', type: 'address', }, + { + name: 'index', + type: 'uint256', + }, ], - name: 'transferOwnership', + name: 'removeAuthorizedAddressAtIndex', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: 'target', + name: 'assetData', + type: 'bytes', + }, + { + name: 'from', type: 'address', - indexed: true, }, { - name: 'caller', + name: 'to', type: 'address', - indexed: true, + }, + { + name: 'amount', + type: 'uint256', }, ], - name: 'AuthorizedAddressAdded', + name: 'transferFrom', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: 'target', - type: 'address', - indexed: true, - }, - { - name: 'caller', + name: 'newOwner', type: 'address', - indexed: true, }, ], - name: 'AuthorizedAddressRemoved', + name: 'transferOwnership', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, ] as ContractAbi; return abi; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts index b0f08a78cf..c2b7c1c32f 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -55,7 +49,7 @@ export interface ERC20ProxyAuthorizedAddressRemovedEventArgs extends DecodedLogA // tslint:disable-next-line:class-name export class ERC20ProxyContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b918161114610374578063d39de6e9146103bb578063f2fde38b14610413576100a3565b80639ad26744146102fe578063ae25532e14610337576100a3565b806342f1181e14610248578063494503d41461027d57806370712939146102c35780638da5cb5b146102f6575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e40000000000000000000000000000000000000000000000000000000081141561024257604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50602860043501357f23b872dd0000000000000000000000000000000000000000000000000000000060005260606024600437602060006064600080855af1600080511160203d14163d15178116905080156101cf57005b50507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b61027b6004803603602081101561025e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610446565b005b61029a6004803603602081101561029357600080fd5b5035610632565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61027b600480360360208110156102d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610666565b61029a610959565b61027b6004803603604081101561031457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610975565b61033f610d26565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6103a76004803603602081101561038a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d5c565b604080519115158252519081900360200190f35b6103c3610d71565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ff5781810151838201526020016103e7565b505050509050019250505060405180910390f35b61027b6004803603602081101561042957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610de0565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061063f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610912578173ffffffffffffffffffffffffffffffffffffffff16600282815481106107fa57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561090a57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061085257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061088557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906109049082610ec6565b50610912565b6001016107cc565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610aff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b2357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610bb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610c2c57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610c5f57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610cde9082610ec6565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4552433230546f6b656e28616464726573732900000000000000000000000000815290519081900360130190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dab575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610ec357600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610eea57600083815260209020610eea918101908301610eef565b505050565b610d5991905b80821115610f095760008155600101610ef5565b509056fea265627a7a72315820f951809fbc2b5a12acf7c2c906794555f492b8b4f259d3899cc80123d285f78064736f6c634300050b0032'; + '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b918161114610374578063d39de6e9146103bb578063f2fde38b14610413576100a3565b80639ad26744146102fe578063ae25532e14610337576100a3565b806342f1181e14610248578063494503d41461027d57806370712939146102c35780638da5cb5b146102f6575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e40000000000000000000000000000000000000000000000000000000081141561024257604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50602860043501357f23b872dd0000000000000000000000000000000000000000000000000000000060005260606024600437602060006064600080855af1600080511160203d14163d15178116905080156101cf57005b50507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b61027b6004803603602081101561025e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610446565b005b61029a6004803603602081101561029357600080fd5b5035610632565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61027b600480360360208110156102d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610666565b61029a610959565b61027b6004803603604081101561031457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610975565b61033f610d26565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6103a76004803603602081101561038a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d5c565b604080519115158252519081900360200190f35b6103c3610d71565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ff5781810151838201526020016103e7565b505050509050019250505060405180910390f35b61027b6004803603602081101561042957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610de0565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061063f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610912578173ffffffffffffffffffffffffffffffffffffffff16600282815481106107fa57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561090a57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061085257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061088557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906109049082610ec6565b50610912565b6001016107cc565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610aff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b2357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610bb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610c2c57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610c5f57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610cde9082610ec6565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4552433230546f6b656e28616464726573732900000000000000000000000000815290519081900360130190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dab575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610ec357600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610eea57600083815260209020610eea918101908301610eef565b505050565b610d5991905b80821115610f095760008155600101610ef5565b509056fea265627a7a72315820cb3312567959522bd12ea03b9812cab2bace85fe5f172b3ae8014b3eacc85fa864736f6c634300050b0032'; /** * Authorizes an address. */ diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts index 4182b0b3a3..8608cae8b2 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -55,7 +49,7 @@ export interface ERC20TokenApprovalEventArgs extends DecodedLogArgs { // tslint:disable-next-line:class-name export class ERC20TokenContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a7231582053ae9d35bb9db1df3465a7d6eaf05e122dc38e959647dd6bcfb63cdace0be3e464736f6c634300050b0032'; + '0x608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a723158205713efa92f66e67a8d01b80af8500df66bd6e9862dcf791e587181109d8ab0c464736f6c634300050b0032'; /** * `msg.sender` approves `_spender` to spend `_value` tokens */ diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts index 09440dd1ef..2163a10d79 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -55,7 +49,7 @@ export interface ERC721ProxyAuthorizedAddressRemovedEventArgs extends DecodedLog // tslint:disable-next-line:class-name export class ERC721ProxyContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b9181611146103ea578063d39de6e914610431578063f2fde38b14610489576100a3565b80639ad2674414610374578063ae25532e146103ad576100a3565b806342f1181e146102be578063494503d4146102f357806370712939146103395780638da5cb5b1461036c575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e4000000000000000000000000000000000000000000000000000000008114156102b857604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50600160643503156101f4577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0e494e56414c49445f414d4f554e540000000000000000000000000000604052600060605260646000fd5b7f23b872dd000000000000000000000000000000000000000000000000000000006000526040602460043760043560206048820160443760288101356000806064600080855af1915050801561024657005b507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b6102f1600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104bc565b005b6103106004803603602081101561030957600080fd5b50356106a8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102f16004803603602081101561034f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106dc565b6103106109cf565b6102f16004803603604081101561038a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109eb565b6103b5610d9c565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61041d6004803603602081101561040057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dd2565b604080519115158252519081900360200190f35b610439610de7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047557818101518382015260200161045d565b505050509050019250505060405180910390f35b6102f16004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e56565b60005473ffffffffffffffffffffffffffffffffffffffff16331461054257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff16156105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b600281815481106106b557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461076257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166107f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610988578173ffffffffffffffffffffffffffffffffffffffff166002828154811061087057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561098057600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106108c857fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108fb57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061097a9082610f3c565b50610988565b600101610842565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610b0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b9957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ca257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cd557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d549082610f3c565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f455243373231546f6b656e28616464726573732c75696e7432353629000000008152905190819003601c0190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610e4c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e21575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610f3957600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610f6057600083815260209020610f60918101908301610f65565b505050565b610dcf91905b80821115610f7f5760008155600101610f6b565b509056fea265627a7a72315820076f08887b965e1f0bf53d68328b43287c96c8e82afa3b6bdffa2696dbcdf1d064736f6c634300050b0032'; + '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b9181611146103ea578063d39de6e914610431578063f2fde38b14610489576100a3565b80639ad2674414610374578063ae25532e146103ad576100a3565b806342f1181e146102be578063494503d4146102f357806370712939146103395780638da5cb5b1461036c575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e4000000000000000000000000000000000000000000000000000000008114156102b857604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50600160643503156101f4577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0e494e56414c49445f414d4f554e540000000000000000000000000000604052600060605260646000fd5b7f23b872dd000000000000000000000000000000000000000000000000000000006000526040602460043760043560206048820160443760288101356000806064600080855af1915050801561024657005b507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b6102f1600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104bc565b005b6103106004803603602081101561030957600080fd5b50356106a8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102f16004803603602081101561034f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106dc565b6103106109cf565b6102f16004803603604081101561038a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109eb565b6103b5610d9c565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61041d6004803603602081101561040057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dd2565b604080519115158252519081900360200190f35b610439610de7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047557818101518382015260200161045d565b505050509050019250505060405180910390f35b6102f16004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e56565b60005473ffffffffffffffffffffffffffffffffffffffff16331461054257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff16156105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b600281815481106106b557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461076257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166107f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610988578173ffffffffffffffffffffffffffffffffffffffff166002828154811061087057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561098057600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106108c857fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108fb57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061097a9082610f3c565b50610988565b600101610842565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610b0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b9957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ca257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cd557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d549082610f3c565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f455243373231546f6b656e28616464726573732c75696e7432353629000000008152905190819003601c0190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610e4c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e21575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610f3957600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610f6057600083815260209020610f60918101908301610f65565b505050565b610dcf91905b80821115610f7f5760008155600101610f6b565b509056fea265627a7a723158201e53a891f6df3931041b820f71387e9eecd97f7ea0d346c54fab37668bd022ec64736f6c634300050b0032'; /** * Authorizes an address. */ diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts index 6135475b33..ebc574a458 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,27 +19,21 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable export type ERC721TokenEventArgs = - | ERC721TokenTransferEventArgs | ERC721TokenApprovalEventArgs - | ERC721TokenApprovalForAllEventArgs; + | ERC721TokenApprovalForAllEventArgs + | ERC721TokenTransferEventArgs; export enum ERC721TokenEvents { - Transfer = 'Transfer', Approval = 'Approval', ApprovalForAll = 'ApprovalForAll', -} - -export interface ERC721TokenTransferEventArgs extends DecodedLogArgs { - _from: string; - _to: string; - _tokenId: BigNumber; + Transfer = 'Transfer', } export interface ERC721TokenApprovalEventArgs extends DecodedLogArgs { @@ -60,110 +48,18 @@ export interface ERC721TokenApprovalForAllEventArgs extends DecodedLogArgs { _approved: boolean; } +export interface ERC721TokenTransferEventArgs extends DecodedLogArgs { + _from: string; + _to: string; + _tokenId: BigNumber; +} + /* istanbul ignore next */ // tslint:disable:no-parameter-reassignment // tslint:disable-next-line:class-name export class ERC721TokenContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a72315820f19df649af87dc79d99cb6439a24ea2d10dfe47a300e66c99f0a0354b183378b64736f6c634300050b0032'; - /** - * Throws if `_tokenId` is not a valid NFT. - */ - public getApproved = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param _tokenId The NFT to find the approved address for - * @returns The approved address for this NFT, or the zero address if there is none - */ - async callAsync( - _tokenId: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('_tokenId', _tokenId); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param _tokenId The NFT to find the approved address for - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(_tokenId: BigNumber): string { - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): BigNumber { - const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): string { - const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); - return abiEncoder.getSelector(); - }, - }; + '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158204bc74831490bca4fbe1805808d58d6b0e12f618a37565e744e91d8dc73dc18b164736f6c634300050c0032'; /** * The zero address indicates there is no approved address. * Throws unless `msg.sender` is the current NFT owner, or an authorized @@ -385,156 +281,325 @@ export class ERC721TokenContract extends BaseContract { }, }; /** - * Throws unless `msg.sender` is the current owner, an authorized - * operator, or the approved address for this NFT. Throws if `_from` is - * not the current owner. Throws if `_to` is the zero address. Throws if - * `_tokenId` is not a valid NFT. + * NFTs assigned to the zero address are considered invalid, and this + * function throws for queries about the zero address. */ - public transferFrom = { + public balanceOf = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param _owner An address for whom to query the balance + * @returns The number of NFTs owned by `_owner`, possibly zero */ - async sendTransactionAsync( - _from: string, - _to: string, - _tokenId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, + async callAsync( + _owner: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('_owner', _owner); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; }, /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param _owner An address for whom to query the balance + * @returns The ABI encoded transaction data as a string */ - awaitTransactionSuccessAsync( - _from: string, - _to: string, + getABIEncodedTransactionData(_owner: string): string { + assert.isString('_owner', _owner); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): BigNumber { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + return abiEncoder.getSelector(); + }, + }; + /** + * Throws if `_tokenId` is not a valid NFT. + */ + public getApproved = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param _tokenId The NFT to find the approved address for + * @returns The approved address for this NFT, or the zero address if there is none + */ + async callAsync( _tokenId: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('_from', _from); - assert.isString('_to', _to); + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { assert.isBigNumber('_tokenId', _tokenId); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.transferFrom.sendTransactionAsync( - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), + const encodedData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; }, /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param _tokenId The NFT to find the approved address for + * @returns The ABI encoded transaction data as a string */ - async estimateGasAsync( - _from: string, - _to: string, - _tokenId: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, + const abiEncodedTransactionData = self._strictEncodeArguments('getApproved(uint256)', [_tokenId]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): BigNumber { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): string { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('getApproved(uint256)'); + return abiEncoder.getSelector(); + }, + }; + public isApprovedForAll = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param _owner The address that owns the NFTs + * @param _operator The address that acts on behalf of the owner + * @returns True if `_operator` is an approved operator for `_owner`, false otherwise + */ + async callAsync( + _owner: string, + _operator: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('_owner', _owner); + assert.isString('_operator', _operator); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ERC721TokenContract; + const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param _owner The address that owns the NFTs + * @param _operator The address that acts on behalf of the owner + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(_owner: string, _operator: string): string { + assert.isString('_owner', _owner); + assert.isString('_operator', _operator); + const self = (this as any) as ERC721TokenContract; + const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ + _owner.toLowerCase(), + _operator.toLowerCase(), + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; }, - async validateAndSendTransactionAsync( - _from: string, - _to: string, - _tokenId: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).transferFrom.callAsync(_from, _to, _tokenId, txData); - const txHash = await (this as any).transferFrom.sendTransactionAsync(_from, _to, _tokenId, txData); - return txHash; + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): boolean { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ERC721TokenContract; + const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + return abiEncoder.getSelector(); }, + }; + /** + * NFTs assigned to zero address are considered invalid, and queries + * about them do throw. + */ + public ownerOf = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _tokenId The identifier for an NFT + * @returns The address of the owner of the NFT */ async callAsync( - _from: string, - _to: string, _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); + ): Promise { assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -545,11 +610,7 @@ export class ERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -569,9 +630,9 @@ export class ERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -579,21 +640,13 @@ export class ERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer + * @param _tokenId The identifier for an NFT * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { - assert.isString('_from', _from); - assert.isString('_to', _to); + getABIEncodedTransactionData(_tokenId: BigNumber): string { assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); return abiEncodedTransactionData; }, /** @@ -601,11 +654,11 @@ export class ERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, string, BigNumber] { + getABIDecodedTransactionData(callData: string): BigNumber { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -613,11 +666,11 @@ export class ERC721TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -625,7 +678,7 @@ export class ERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); + const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); return abiEncoder.getSelector(); }, }; @@ -873,122 +926,182 @@ export class ERC721TokenContract extends BaseContract { }, }; /** - * NFTs assigned to zero address are considered invalid, and queries - * about them do throw. + * Throws unless `msg.sender` is the current owner, an authorized + * operator, or the approved address for this NFT. Throws if `_from` is + * not the current owner. Throws if `_to` is the zero address. Throws if + * `_tokenId` is not a valid NFT. When transfer is complete, this function + * checks if `_to` is a smart contract (code size > 0). If so, it calls + * `onERC721Received` on `_to` and throws if the return value is not + * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. */ - public ownerOf = { + public safeTransferFrom2 = { /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param _tokenId The identifier for an NFT - * @returns The address of the owner of the NFT + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - async callAsync( + async sendTransactionAsync( + _from: string, + _to: string, _tokenId: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, + _data: string, + txData?: Partial | undefined, ): Promise { + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + assert.isString('_data', _data); const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param _tokenId The identifier for an NFT - * @returns The ABI encoded transaction data as a string + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ - getABIEncodedTransactionData(_tokenId: BigNumber): string { + awaitTransactionSuccessAsync( + _from: string, + _to: string, + _tokenId: BigNumber, + _data: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('_from', _from); + assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('ownerOf(uint256)', [_tokenId]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): BigNumber { - const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; + const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - getABIDecodedReturnData(returnData: string): string { + async estimateGasAsync( + _from: string, + _to: string, + _tokenId: BigNumber, + _data: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('ownerOf(uint256)'); - return abiEncoder.getSelector(); + async validateAndSendTransactionAsync( + _from: string, + _to: string, + _tokenId: BigNumber, + _data: string, + txData?: Partial | undefined, + ): Promise { + await (this as any).safeTransferFrom2.callAsync(_from, _to, _tokenId, _data, txData); + const txHash = await (this as any).safeTransferFrom2.sendTransactionAsync( + _from, + _to, + _tokenId, + _data, + txData, + ); + return txHash; }, - }; - /** - * NFTs assigned to the zero address are considered invalid, and this - * function throws for queries about the zero address. - */ - public balanceOf = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _owner An address for whom to query the balance - * @returns The number of NFTs owned by `_owner`, possibly zero + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` */ async callAsync( - _owner: string, + _from: string, + _to: string, + _tokenId: BigNumber, + _data: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); + ): Promise { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -998,7 +1111,12 @@ export class ERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, + _data, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1018,9 +1136,9 @@ export class ERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1028,13 +1146,22 @@ export class ERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _owner An address for whom to query the balance + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer + * @param _data Additional data with no specified format, sent in call to `_to` * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_owner: string): string { - assert.isString('_owner', _owner); + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); + assert.isString('_data', _data); const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('balanceOf(address)', [_owner.toLowerCase()]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'safeTransferFrom(address,address,uint256,bytes)', + [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], + ); return abiEncodedTransactionData; }, /** @@ -1042,11 +1169,11 @@ export class ERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): [string, string, BigNumber, string] { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber, string]>(callData); return abiDecodedCallData; }, /** @@ -1054,11 +1181,11 @@ export class ERC721TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1066,7 +1193,7 @@ export class ERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('balanceOf(address)'); + const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); return abiEncoder.getSelector(); }, }; @@ -1297,19 +1424,15 @@ export class ERC721TokenContract extends BaseContract { * Throws unless `msg.sender` is the current owner, an authorized * operator, or the approved address for this NFT. Throws if `_from` is * not the current owner. Throws if `_to` is the zero address. Throws if - * `_tokenId` is not a valid NFT. When transfer is complete, this function - * checks if `_to` is a smart contract (code size > 0). If so, it calls - * `onERC721Received` on `_to` and throws if the return value is not - * `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. + * `_tokenId` is not a valid NFT. */ - public safeTransferFrom2 = { + public transferFrom = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. * @param _from The current owner of the NFT * @param _to The new owner * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @returns The hash of the transaction */ @@ -1317,19 +1440,16 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - _data: string, txData?: Partial | undefined, ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1352,7 +1472,6 @@ export class ERC721TokenContract extends BaseContract { * @param _from The current owner of the NFT * @param _to The new owner * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful @@ -1361,7 +1480,6 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - _data: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, @@ -1369,13 +1487,11 @@ export class ERC721TokenContract extends BaseContract { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); const self = (this as any) as ERC721TokenContract; - const txHashPromise = self.safeTransferFrom2.sendTransactionAsync( + const txHashPromise = self.transferFrom.sendTransactionAsync( _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, txData, ); return new PromiseWithTransactionHash( @@ -1395,7 +1511,6 @@ export class ERC721TokenContract extends BaseContract { * @param _from The current owner of the NFT * @param _to The new owner * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` * @param txData Additional data for transaction * @returns The hash of the transaction */ @@ -1403,19 +1518,16 @@ export class ERC721TokenContract extends BaseContract { _from: string, _to: string, _tokenId: BigNumber, - _data: string, txData?: Partial | undefined, ): Promise { assert.isString('_from', _from); assert.isString('_to', _to); assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ _from.toLowerCase(), _to.toLowerCase(), _tokenId, - _data, ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1435,153 +1547,31 @@ export class ERC721TokenContract extends BaseContract { async validateAndSendTransactionAsync( _from: string, _to: string, - _tokenId: BigNumber, - _data: string, - txData?: Partial | undefined, - ): Promise { - await (this as any).safeTransferFrom2.callAsync(_from, _to, _tokenId, _data, txData); - const txHash = await (this as any).safeTransferFrom2.sendTransactionAsync( - _from, - _to, - _tokenId, - _data, - txData, - ); - return txHash; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` - */ - async callAsync( - _from: string, - _to: string, - _tokenId: BigNumber, - _data: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('safeTransferFrom(address,address,uint256,bytes)', [ - _from.toLowerCase(), - _to.toLowerCase(), - _tokenId, - _data, - ]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param _from The current owner of the NFT - * @param _to The new owner - * @param _tokenId The NFT to transfer - * @param _data Additional data with no specified format, sent in call to `_to` - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber, _data: string): string { - assert.isString('_from', _from); - assert.isString('_to', _to); - assert.isBigNumber('_tokenId', _tokenId); - assert.isString('_data', _data); - const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'safeTransferFrom(address,address,uint256,bytes)', - [_from.toLowerCase(), _to.toLowerCase(), _tokenId, _data], - ); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): [string, string, BigNumber, string] { - const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber, string]>(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): void { - const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('safeTransferFrom(address,address,uint256,bytes)'); - return abiEncoder.getSelector(); + _tokenId: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).transferFrom.callAsync(_from, _to, _tokenId, txData); + const txHash = await (this as any).transferFrom.sendTransactionAsync(_from, _to, _tokenId, txData); + return txHash; }, - }; - public isApprovedForAll = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param _owner The address that owns the NFTs - * @param _operator The address that acts on behalf of the owner - * @returns True if `_operator` is an approved operator for `_owner`, false otherwise + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer */ async callAsync( - _owner: string, - _operator: string, + _from: string, + _to: string, + _tokenId: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('_owner', _owner); - assert.isString('_operator', _operator); + ): Promise { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1591,9 +1581,10 @@ export class ERC721TokenContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ERC721TokenContract; - const encodedData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), + const encodedData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1614,9 +1605,9 @@ export class ERC721TokenContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1624,17 +1615,20 @@ export class ERC721TokenContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param _owner The address that owns the NFTs - * @param _operator The address that acts on behalf of the owner + * @param _from The current owner of the NFT + * @param _to The new owner + * @param _tokenId The NFT to transfer * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(_owner: string, _operator: string): string { - assert.isString('_owner', _owner); - assert.isString('_operator', _operator); + getABIEncodedTransactionData(_from: string, _to: string, _tokenId: BigNumber): string { + assert.isString('_from', _from); + assert.isString('_to', _to); + assert.isBigNumber('_tokenId', _tokenId); const self = (this as any) as ERC721TokenContract; - const abiEncodedTransactionData = self._strictEncodeArguments('isApprovedForAll(address,address)', [ - _owner.toLowerCase(), - _operator.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('transferFrom(address,address,uint256)', [ + _from.toLowerCase(), + _to.toLowerCase(), + _tokenId, ]); return abiEncodedTransactionData; }, @@ -1643,11 +1637,11 @@ export class ERC721TokenContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): [string, string, BigNumber] { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -1655,11 +1649,11 @@ export class ERC721TokenContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): boolean { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1667,7 +1661,7 @@ export class ERC721TokenContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ERC721TokenContract; - const abiEncoder = self._lookupAbiEncoder('isApprovedForAll(address,address)'); + const abiEncoder = self._lookupAbiEncoder('transferFrom(address,address,uint256)'); return abiEncoder.getSelector(); }, }; @@ -1742,73 +1736,79 @@ export class ERC721TokenContract extends BaseContract { public static ABI(): ContractAbi { const abi = [ { - constant: true, + anonymous: false, inputs: [ { - name: '_tokenId', - type: 'uint256', + name: '_owner', + type: 'address', + indexed: true, }, - ], - name: 'getApproved', - outputs: [ { - name: '', + name: '_approved', type: 'address', + indexed: true, + }, + { + name: '_tokenId', + type: 'uint256', + indexed: true, }, ], - payable: false, - stateMutability: 'view', - type: 'function', + name: 'Approval', + outputs: [], + type: 'event', }, { - constant: false, + anonymous: false, inputs: [ { - name: '_approved', + name: '_owner', type: 'address', + indexed: true, }, { - name: '_tokenId', - type: 'uint256', + name: '_operator', + type: 'address', + indexed: true, + }, + { + name: '_approved', + type: 'bool', + indexed: false, }, ], - name: 'approve', + name: 'ApprovalForAll', outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', + type: 'event', }, { - constant: false, + anonymous: false, inputs: [ { name: '_from', type: 'address', + indexed: true, }, { name: '_to', type: 'address', + indexed: true, }, { name: '_tokenId', type: 'uint256', + indexed: true, }, ], - name: 'transferFrom', + name: 'Transfer', outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', + type: 'event', }, { constant: false, inputs: [ { - name: '_from', - type: 'address', - }, - { - name: '_to', + name: '_approved', type: 'address', }, { @@ -1816,7 +1816,7 @@ export class ERC721TokenContract extends BaseContract { type: 'uint256', }, ], - name: 'safeTransferFrom', + name: 'approve', outputs: [], payable: false, stateMutability: 'nonpayable', @@ -1826,15 +1826,15 @@ export class ERC721TokenContract extends BaseContract { constant: true, inputs: [ { - name: '_tokenId', - type: 'uint256', + name: '_owner', + type: 'address', }, ], - name: 'ownerOf', + name: 'balanceOf', outputs: [ { name: '', - type: 'address', + type: 'uint256', }, ], payable: false, @@ -1845,15 +1845,15 @@ export class ERC721TokenContract extends BaseContract { constant: true, inputs: [ { - name: '_owner', - type: 'address', + name: '_tokenId', + type: 'uint256', }, ], - name: 'balanceOf', + name: 'getApproved', outputs: [ { name: '', - type: 'uint256', + type: 'address', }, ], payable: false, @@ -1861,140 +1861,134 @@ export class ERC721TokenContract extends BaseContract { type: 'function', }, { - constant: false, + constant: true, inputs: [ + { + name: '_owner', + type: 'address', + }, { name: '_operator', type: 'address', }, + ], + name: 'isApprovedForAll', + outputs: [ { - name: '_approved', + name: '', type: 'bool', }, ], - name: 'setApprovalForAll', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { - constant: false, + constant: true, inputs: [ - { - name: '_from', - type: 'address', - }, - { - name: '_to', - type: 'address', - }, { name: '_tokenId', type: 'uint256', }, + ], + name: 'ownerOf', + outputs: [ { - name: '_data', - type: 'bytes', + name: '', + type: 'address', }, ], - name: 'safeTransferFrom', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { - constant: true, + constant: false, inputs: [ { - name: '_owner', + name: '_from', type: 'address', }, { - name: '_operator', + name: '_to', type: 'address', }, - ], - name: 'isApprovedForAll', - outputs: [ { - name: '', - type: 'bool', + name: '_tokenId', + type: 'uint256', }, ], + name: 'safeTransferFrom', + outputs: [], payable: false, - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { name: '_from', type: 'address', - indexed: true, }, { name: '_to', type: 'address', - indexed: true, }, { name: '_tokenId', type: 'uint256', - indexed: true, + }, + { + name: '_data', + type: 'bytes', }, ], - name: 'Transfer', + name: 'safeTransferFrom', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: '_owner', + name: '_operator', type: 'address', - indexed: true, }, { name: '_approved', - type: 'address', - indexed: true, - }, - { - name: '_tokenId', - type: 'uint256', - indexed: true, + type: 'bool', }, ], - name: 'Approval', + name: 'setApprovalForAll', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: '_owner', + name: '_from', type: 'address', - indexed: true, }, { - name: '_operator', + name: '_to', type: 'address', - indexed: true, }, { - name: '_approved', - type: 'bool', - indexed: false, + name: '_tokenId', + type: 'uint256', }, ], - name: 'ApprovalForAll', + name: 'transferFrom', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, ] as ContractAbi; return abi; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts index 0a033c5474..455d053c03 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/eth_balance_checker.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -29,7 +29,7 @@ import * as ethers from 'ethers'; // tslint:disable-next-line:class-name export class EthBalanceCheckerContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a0901e5114610030575b600080fd5b6100d36004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610123945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561010f5781810151838201526020016100f7565b505050509050019250505060405180910390f35b6060808251604051908082528060200260200182016040528015610151578160200160208202803883390190505b50905060005b835181146101a95783818151811061016b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163182828151811061019657fe5b6020908102919091010152600101610157565b509291505056fea265627a7a72315820df367235df12381c7051c3ab202d79df7a4451cb2217e4d0ae307a332c552bfd64736f6c634300050b0032'; + '0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a0901e5114610030575b600080fd5b6100d36004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610123945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561010f5781810151838201526020016100f7565b505050509050019250505060405180910390f35b6060808251604051908082528060200260200182016040528015610151578160200160208202803883390190505b50905060005b835181146101a95783818151811061016b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163182828151811061019657fe5b6020908102919091010152600101610157565b509291505056fea265627a7a7231582094309783f0b63086d85d9cb4f6e5be253699056ac1580a863367c5076ecb5c1864736f6c634300050b0032'; /** * Batch fetches ETH balances */ diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts index c0a1b6ebd2..b0501ae5f4 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,41 +19,31 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; // tslint:enable:no-unused-variable export type ExchangeEventArgs = - | ExchangeTransactionExecutionEventArgs - | ExchangeSignatureValidatorApprovalEventArgs | ExchangeAssetProxyRegisteredEventArgs - | ExchangeProtocolFeeMultiplierEventArgs - | ExchangeProtocolFeeCollectorAddressEventArgs - | ExchangeFillEventArgs | ExchangeCancelEventArgs - | ExchangeCancelUpToEventArgs; + | ExchangeCancelUpToEventArgs + | ExchangeFillEventArgs + | ExchangeProtocolFeeCollectorAddressEventArgs + | ExchangeProtocolFeeMultiplierEventArgs + | ExchangeSignatureValidatorApprovalEventArgs + | ExchangeTransactionExecutionEventArgs; export enum ExchangeEvents { - TransactionExecution = 'TransactionExecution', - SignatureValidatorApproval = 'SignatureValidatorApproval', AssetProxyRegistered = 'AssetProxyRegistered', - ProtocolFeeMultiplier = 'ProtocolFeeMultiplier', - ProtocolFeeCollectorAddress = 'ProtocolFeeCollectorAddress', - Fill = 'Fill', Cancel = 'Cancel', CancelUpTo = 'CancelUpTo', -} - -export interface ExchangeTransactionExecutionEventArgs extends DecodedLogArgs { - transactionHash: string; -} - -export interface ExchangeSignatureValidatorApprovalEventArgs extends DecodedLogArgs { - signerAddress: string; - validatorAddress: string; - isApproved: boolean; + Fill = 'Fill', + ProtocolFeeCollectorAddress = 'ProtocolFeeCollectorAddress', + ProtocolFeeMultiplier = 'ProtocolFeeMultiplier', + SignatureValidatorApproval = 'SignatureValidatorApproval', + TransactionExecution = 'TransactionExecution', } export interface ExchangeAssetProxyRegisteredEventArgs extends DecodedLogArgs { @@ -67,14 +51,19 @@ export interface ExchangeAssetProxyRegisteredEventArgs extends DecodedLogArgs { assetProxy: string; } -export interface ExchangeProtocolFeeMultiplierEventArgs extends DecodedLogArgs { - oldProtocolFeeMultiplier: BigNumber; - updatedProtocolFeeMultiplier: BigNumber; +export interface ExchangeCancelEventArgs extends DecodedLogArgs { + makerAddress: string; + feeRecipientAddress: string; + makerAssetData: string; + takerAssetData: string; + senderAddress: string; + orderHash: string; } -export interface ExchangeProtocolFeeCollectorAddressEventArgs extends DecodedLogArgs { - oldProtocolFeeCollector: string; - updatedProtocolFeeCollector: string; +export interface ExchangeCancelUpToEventArgs extends DecodedLogArgs { + makerAddress: string; + orderSenderAddress: string; + orderEpoch: BigNumber; } export interface ExchangeFillEventArgs extends DecodedLogArgs { @@ -94,19 +83,24 @@ export interface ExchangeFillEventArgs extends DecodedLogArgs { protocolFeePaid: BigNumber; } -export interface ExchangeCancelEventArgs extends DecodedLogArgs { - makerAddress: string; - feeRecipientAddress: string; - makerAssetData: string; - takerAssetData: string; - senderAddress: string; - orderHash: string; +export interface ExchangeProtocolFeeCollectorAddressEventArgs extends DecodedLogArgs { + oldProtocolFeeCollector: string; + updatedProtocolFeeCollector: string; } -export interface ExchangeCancelUpToEventArgs extends DecodedLogArgs { - makerAddress: string; - orderSenderAddress: string; - orderEpoch: BigNumber; +export interface ExchangeProtocolFeeMultiplierEventArgs extends DecodedLogArgs { + oldProtocolFeeMultiplier: BigNumber; + updatedProtocolFeeMultiplier: BigNumber; +} + +export interface ExchangeSignatureValidatorApprovalEventArgs extends DecodedLogArgs { + signerAddress: string; + validatorAddress: string; + isApproved: boolean; +} + +export interface ExchangeTransactionExecutionEventArgs extends DecodedLogArgs { + transactionHash: string; } /* istanbul ignore next */ @@ -114,19 +108,14 @@ export interface ExchangeCancelUpToEventArgs extends DecodedLogArgs { // tslint:disable-next-line:class-name export class ExchangeContract extends BaseContract { public static deployedBytecode = - '0x6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e6c565b61076a565b60405161030391906154de565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154e9565b61034161033c36600461511e565b610785565b60405161030391906156bb565b34801561035a57600080fd5b50610321610369366004614e6c565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e6c565b6107d9565b6103a161039c366004614f92565b6107ee565b005b6103b66103b1366004614d67565b610812565b60405161030391906159de565b6103a16103d1366004614e6c565b610939565b6103a16103e4366004614e6c565b6109ac565b3480156103f557600080fd5b50610409610404366004614ef9565b610ab9565b6040516103039190615374565b610429610424366004614c46565b610b07565b6040516103039190615967565b610429610444366004614c46565b610b3f565b6103a1610457366004614b2b565b610b5d565b6103b661046a366004614d67565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614eaa565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e85565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f2366004615021565b610e2b565b60405161030391906159ec565b6103b6610512366004614d67565b610e49565b34801561052357600080fd5b506102f661053236600461511e565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614ce3565b610ebe565b60405161030391906154cb565b34801561057857600080fd5b506103a1610587366004614e6c565b610fe9565b61055f61059a366004614ce3565b611031565b6103b66105ad3660046150be565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f92565b61111d565b6040516103039190615a2e565b3480156105eb57600080fd5b506102f66105fa366004614fc7565b611201565b6103b661060d366004614d67565b611226565b34801561061e57600080fd5b506103a161062d366004614b68565b61125a565b6104f7610640366004615021565b611306565b61055f610653366004614ce3565b611324565b34801561066457600080fd5b506103a1610673366004614ada565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614ada565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b6040516103039190615646565b6103a16106fd366004614c11565b611657565b6103b66107103660046150be565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614ada565b6116d0565b61075d610758366004614dba565b611748565b604051610303919061544c565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154e9565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154de565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d6003548260405161102492919061555d565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615930565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff909116908490615395565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f16565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615673565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556080870151905160609130916119209190615327565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a74565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe9190615327565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f33565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153bc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158d4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b90506000600188858585604051600081526020016040526040516123719493929190615628565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b905060006001886040516020016124689190615343565b60405160208183030381529060405280519060200120858585604051600081526020016040526040516123719493929190615628565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d61939291906158b9565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156ce565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c9190615327565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615673565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a4392919061556b565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b929091903390615736565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615861565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d919061584e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e0000000000000000000000000000000000000000000000000000000090613024908890879060240161556b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc9190615327565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615782565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a9f565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a43929190615395565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a52565b606063488219a660e01b848484604051602401611d6193929190615826565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d6193929190615584565b606063f598518460e01b8383604051602401612a43929190615919565b606063a26dac0960e01b848484604051602401611d6193929190615612565b606063dec4aedf60e01b8383604051602401612a439291906154f2565b606063e53c76c860e01b848484604051602401611d6193929190615882565b6060632800659560e01b848484604051602401611d61939291906158c6565b9052565b6060631b8388f760e01b8585858560405160240161221e9493929190615516565b606063fdb6ca8d60e01b8383604051602401612a439291906155af565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a4392919061555d565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a43929190615395565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb39088908890602401615711565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b9190615327565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d6193929190615612565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153bc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff1684846040516143919190615327565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153ed565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155cd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b30565b615b09565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b30565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b30565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b30565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615b09565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615b09565b915050600061493d84846146d3565b825261494c84602085016146d3565b602083015261495e84604085016146d3565b604083015261497084606085016146d3565b60608301526080830135608083015260a083013560a083015260c083013560c083015260e083013560e08301526101008084013581840152506101208084013581840152506101408084013567ffffffffffffffff808211156149d1578384fd5b6149dd8783880161488b565b838601526101609250828601359150808211156149f8578384fd5b614a048783880161488b565b83860152610180925082860135915080821115614a1f578384fd5b614a2b8783880161488b565b838601526101a0925082860135915080821115614a46578384fd5b50614a538682870161488b565b8285015250505092915050565b600060a08284031215614a71578081fd5b614a7b60a0615b09565b90508135815260208201356020820152604082013560408201526060820135614aa381615b9b565b6060820152608082013567ffffffffffffffff811115614ac257600080fd5b614ace8482850161488b565b60808301525092915050565b600060208284031215614aec57600080fd5b61093283836146d3565b60008060408385031215614b0957600080fd5b614b1384846146d3565b9150614b2284602085016146d3565b90509250929050565b60008060408385031215614b3e57600080fd5b614b4884846146d3565b915060208301358015158114614b5d57600080fd5b809150509250929050565b60008060008060808587031215614b7d578182fd5b843567ffffffffffffffff80821115614b94578384fd5b614ba08883890161476d565b95506020870135915080821115614bb5578384fd5b614bc1888389016146f7565b94506040870135915080821115614bd6578384fd5b614be2888389016146f7565b93506060870135915080821115614bf857600080fd5b50614c058782880161482d565b91505092959194509250565b600060208284031215614c2357600080fd5b813567ffffffffffffffff811115614c3a57600080fd5b610b37848285016147d2565b60008060008060808587031215614c5b578182fd5b843567ffffffffffffffff80821115614c72578384fd5b614c7e888389016147d2565b95506020870135915080821115614c93578384fd5b614c9f888389016147d2565b94506040870135915080821115614cb4578384fd5b614cc08883890161476d565b93506060870135915080821115614cd657600080fd5b50614c058782880161476d565b600080600060608486031215614cf7578081fd5b833567ffffffffffffffff80821115614d0e578283fd5b614d1a878388016147d2565b94506020860135915080821115614d2f578283fd5b614d3b8783880161482d565b93506040860135915080821115614d50578283fd5b50614d5d8682870161476d565b9150509250925092565b600080600060608486031215614d7b578081fd5b833567ffffffffffffffff80821115614d92578283fd5b614d9e878388016147d2565b9450602086013593506040860135915080821115614d50578283fd5b60008060408385031215614dcc578182fd5b823567ffffffffffffffff80821115614de3578384fd5b81850186601f820112614df4578485fd5b80359250614e0461471584615b30565b83815260208082019190838101885b87811015614e3c57614e2a8c848435890101614a60565b85529382019390820190600101614e13565b50919750880135945050505080821115614e5557600080fd5b50614e628582860161476d565b9150509250929050565b600060208284031215614e7e57600080fd5b5035919050565b60008060408385031215614e9857600080fd5b823591506020830135614b5d81615b9b565b600080600060608486031215614ebf57600080fd5b833592506020840135614ed181615b9b565b9150604084013567ffffffffffffffff811115614eed57600080fd5b614d5d8682870161488b565b600060208284031215614f0b57600080fd5b813561093281615bbd565b600060208284031215614f2857600080fd5b815161093281615bbd565b600060a0828403128015614f4657600080fd5b8015614f5157600080fd5b50614f5c60a0615b09565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614fa457600080fd5b813567ffffffffffffffff811115614fbb57600080fd5b610b3784828501614912565b60008060408385031215614fda57600080fd5b823567ffffffffffffffff80821115614ff257600080fd5b614ffe86838701614912565b9350602085013591508082111561501457600080fd5b50614e628582860161488b565b60008060008060808587031215615036578182fd5b843567ffffffffffffffff8082111561504d578384fd5b61505988838901614912565b9550602087013591508082111561506e578384fd5b61507a88838901614912565b9450604087013591508082111561508f578384fd5b61509b8883890161488b565b935060608701359150808211156150b157600080fd5b50614c058782880161488b565b6000806000606084860312156150d2578081fd5b833567ffffffffffffffff808211156150e9578283fd5b6150f587838801614912565b9450602086013593506040860135915080821115615111578283fd5b50614d5d8682870161488b565b6000806040838503121561513157600080fd5b823567ffffffffffffffff8082111561514957600080fd5b614ffe86838701614a60565b73ffffffffffffffffffffffffffffffffffffffff169052565b600081518084526020840193506020830160005b828110156151ac57615196868351615200565b60a0959095019460209190910190600101615183565b5093949350505050565b600081518084526151ce816020860160208601615b51565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c0615240848451615155565b60208301516152526020860182615155565b5060408301516152656040860182615155565b5060608301516152786060860182615155565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152d1838701826151b6565b915050610160915081840151858203838701526152ee82826151b6565b92505050610180808401518583038287015261530a83826151b6565b9150506101a091508184015185820383870152613de282826151b6565b60008251615339818460208701615b51565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff861682526080602083015261541c60808301866151b6565b828103604084015261542e81866151b6565b838103606085015261544081866151b6565b98975050505050505050565b600060208083018184528085518083526040860191506040848202870101925083870160005b828110156154be577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526154ac8583516151b6565b94509285019290850190600101615472565b5092979650505050505050565b600060208252610932602083018461516f565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff851660208301526080604083015261554b60808301856151b6565b82810360608401526138a981856151b6565b918252602082015260400190565b600083825260406020830152610b3760408301846151b6565b60008482526060602083015261559d60608301856151b6565b8281036040840152613de281856151b6565b82815260408101600783106155c057fe5b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a08301846151b6565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60006020825261093260208301846151b6565b6000608082526156e160808301876151b6565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b60006040825261572460408301856151b6565b8281036020840152610de681856151b6565b60006060825261574960608301866151b6565b828103602084015261575b81866151b6565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b60006101608083526157968184018f6151b6565b83810360208501526157a8818f6151b6565b91505082810360408401526157bd818d6151b6565b83810360608501526157cf818d6151b6565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061583185615b7d565b84825283602083015260606040830152610de660608301846151b6565b6020810161585b83615b87565b91905290565b6060810161586e85615b87565b938152602081019290925260409091015290565b6060810161588f85615b91565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161586e85615b91565b606081016008851061586e57fe5b6000600786106158e057fe5b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de260808301846151b6565b6040810161592684615b7d565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261598360a084018261516f565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159be818361516f565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c18284615200565b600061018082019050615a00828451615200565b6020830151615a1260a0840182615200565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a656040830185615230565b90508260208301529392505050565b600060608252615a876060830186615230565b8460208401528281036040840152613de281856151b6565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615af960e08401826151b6565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b2857600080fd5b604052919050565b600067ffffffffffffffff821115615b4757600080fd5b5060209081020190565b60005b83811015615b6c578181015183820152602001615b54565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a090209056fea365627a7a723158200ee8e24c946cd722f30bbe87701905f4bde0c0bbea668fda2eb6aaf5f8596c936c6578706572696d656e74616cf564736f6c634300050b0040'; - public transactionsExecuted = { + '0x6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e64565b61076a565b60405161030391906154c4565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154cf565b61034161033c366004615108565b610785565b60405161030391906156a0565b34801561035a57600080fd5b50610321610369366004614e64565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e64565b6107d9565b6103a161039c366004614f82565b6107ee565b005b6103b66103b1366004614d60565b610812565b60405161030391906159c2565b6103a16103d1366004614e64565b610939565b6103a16103e4366004614e64565b6109ac565b3480156103f557600080fd5b50610409610404366004614eed565b610ab9565b604051610303919061535b565b610429610424366004614c40565b610b07565b604051610303919061594b565b610429610444366004614c40565b610b3f565b6103a1610457366004614b2a565b610b5d565b6103b661046a366004614d60565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614ea0565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e7c565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f236600461500c565b610e2b565b60405161030391906159d0565b6103b6610512366004614d60565b610e49565b34801561052357600080fd5b506102f6610532366004615108565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614cdc565b610ebe565b60405161030391906154b1565b34801561057857600080fd5b506103a1610587366004614e64565b610fe9565b61055f61059a366004614cdc565b611031565b6103b66105ad3660046150a8565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f82565b61111d565b6040516103039190615a12565b3480156105eb57600080fd5b506102f66105fa366004614fb5565b611201565b6103b661060d366004614d60565b611226565b34801561061e57600080fd5b506103a161062d366004614b65565b61125a565b6104f761064036600461500c565b611306565b61055f610653366004614cdc565b611324565b34801561066457600080fd5b506103a1610673366004614adb565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614adb565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b604051610303919061562b565b6103a16106fd366004614c0d565b611657565b6103b66107103660046150a8565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614adb565b6116d0565b61075d610758366004614db3565b611748565b6040516103039190615433565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154cf565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154c4565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d60035482604051611024929190615543565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615914565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff90911690849061537c565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f09565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615658565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055608087015190516060913091611920919061530e565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a58565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe919061530e565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f25565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153a3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b9050600060018885858560405160008152602001604052604051612371949392919061560d565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b90506000600188604051602001612468919061532a565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051612371949392919061560d565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d619392919061589e565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156b3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c919061530e565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615658565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a43929190615551565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b92909190339061571b565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615846565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d9190615833565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e00000000000000000000000000000000000000000000000000000000906130249088908790602401615551565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc919061530e565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615767565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a83565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a4392919061537c565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a36565b606063488219a660e01b848484604051602401611d619392919061580b565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d619392919061556a565b606063f598518460e01b8383604051602401612a439291906158fd565b606063a26dac0960e01b848484604051602401611d61939291906155f7565b606063dec4aedf60e01b8383604051602401612a439291906154d8565b606063e53c76c860e01b848484604051602401611d6193929190615867565b6060632800659560e01b848484604051602401611d61939291906158ab565b9052565b6060631b8388f760e01b8585858560405160240161221e94939291906154fc565b606063fdb6ca8d60e01b8383604051602401612a43929190615595565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a43929190615543565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a4392919061537c565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb390889088906024016156f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b919061530e565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d61939291906155f7565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153a3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff168484604051614391919061530e565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153d4565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155b2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b14565b615aed565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b14565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b14565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b14565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615aed565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615aed565b91505061493b83836146d3565b815261494a83602084016146d3565b602082015261495c83604084016146d3565b604082015261496e83606084016146d3565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff808211156149d057600080fd5b6149dc8683870161488b565b838501526101609250828501359150808211156149f857600080fd5b614a048683870161488b565b83850152610180925082850135915080821115614a2057600080fd5b614a2c8683870161488b565b838501526101a0925082850135915080821115614a4857600080fd5b50614a558582860161488b565b82840152505092915050565b600060a08284031215614a72578081fd5b614a7c60a0615aed565b90508135815260208201356020820152604082013560408201526060820135614aa481615b88565b6060820152608082013567ffffffffffffffff811115614ac357600080fd5b614acf8482850161488b565b60808301525092915050565b600060208284031215614aec578081fd5b61093283836146d3565b60008060408385031215614b08578081fd5b614b1284846146d3565b9150614b2184602085016146d3565b90509250929050565b60008060408385031215614b3c578182fd5b614b4684846146d3565b915060208301358015158114614b5a578182fd5b809150509250929050565b60008060008060808587031215614b7a578182fd5b843567ffffffffffffffff80821115614b91578384fd5b614b9d8883890161476d565b95506020870135915080821115614bb2578384fd5b614bbe888389016146f7565b94506040870135915080821115614bd3578384fd5b614bdf888389016146f7565b93506060870135915080821115614bf4578283fd5b50614c018782880161482d565b91505092959194509250565b600060208284031215614c1e578081fd5b813567ffffffffffffffff811115614c34578182fd5b610b37848285016147d2565b60008060008060808587031215614c55578182fd5b843567ffffffffffffffff80821115614c6c578384fd5b614c78888389016147d2565b95506020870135915080821115614c8d578384fd5b614c99888389016147d2565b94506040870135915080821115614cae578384fd5b614cba8883890161476d565b93506060870135915080821115614ccf578283fd5b50614c018782880161476d565b600080600060608486031215614cf0578081fd5b833567ffffffffffffffff80821115614d07578283fd5b614d13878388016147d2565b94506020860135915080821115614d28578283fd5b614d348783880161482d565b93506040860135915080821115614d49578283fd5b50614d568682870161476d565b9150509250925092565b600080600060608486031215614d74578081fd5b833567ffffffffffffffff80821115614d8b578283fd5b614d97878388016147d2565b9450602086013593506040860135915080821115614d49578283fd5b60008060408385031215614dc5578182fd5b823567ffffffffffffffff80821115614ddc578384fd5b81850186601f820112614ded578485fd5b80359250614dfd61471584615b14565b83815260208082019190838101885b87811015614e3557614e238c848435890101614a61565b85529382019390820190600101614e0c565b50919750880135945050505080821115614e4d578283fd5b50614e5a8582860161476d565b9150509250929050565b600060208284031215614e75578081fd5b5035919050565b60008060408385031215614e8e578182fd5b823591506020830135614b5a81615b88565b600080600060608486031215614eb4578081fd5b833592506020840135614ec681615b88565b9150604084013567ffffffffffffffff811115614ee1578182fd5b614d568682870161488b565b600060208284031215614efe578081fd5b813561093281615baa565b600060208284031215614f1a578081fd5b815161093281615baa565b600060a0828403128015614f37578182fd5b8015614f41578182fd5b50614f4c60a0615aed565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614f93578081fd5b813567ffffffffffffffff811115614fa9578182fd5b610b3784828501614912565b60008060408385031215614fc7578182fd5b823567ffffffffffffffff80821115614fde578384fd5b614fea86838701614912565b93506020850135915080821115614fff578283fd5b50614e5a8582860161488b565b60008060008060808587031215615021578182fd5b843567ffffffffffffffff80821115615038578384fd5b61504488838901614912565b95506020870135915080821115615059578384fd5b61506588838901614912565b9450604087013591508082111561507a578384fd5b6150868883890161488b565b9350606087013591508082111561509b578283fd5b50614c018782880161488b565b6000806000606084860312156150bc578081fd5b833567ffffffffffffffff808211156150d3578283fd5b6150df87838801614912565b94506020860135935060408601359150808211156150fb578283fd5b50614d568682870161488b565b6000806040838503121561511a578182fd5b823567ffffffffffffffff80821115615131578384fd5b614fea86838701614a61565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845260208401935060208301825b828110156151935761517d8683516151e7565b60a095909501946020919091019060010161516a565b5093949350505050565b600081518084526151b5816020860160208601615b34565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c061522784845161513d565b6020830151615239602086018261513d565b50604083015161524c604086018261513d565b50606083015161525f606086018261513d565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152b88387018261519d565b915050610160915081840151858203838701526152d5828261519d565b9250505061018080840151858303828701526152f1838261519d565b9150506101a091508184015185820383870152613de2828261519d565b60008251615320818460208701615b34565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff8616825260806020830152615403608083018661519d565b8281036040840152615415818661519d565b8381036060850152615427818661519d565b98975050505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156154a4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261549285835161519d565b94509285019290850190600101615458565b5092979650505050505050565b6000602082526109326020830184615157565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff8516602083015260806040830152615531608083018561519d565b82810360608401526138a9818561519d565b918252602082015260400190565b600083825260406020830152610b37604083018461519d565b600084825260606020830152615583606083018561519d565b8281036040840152613de2818561519d565b828152604081016155a583615b7e565b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a083018461519d565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600060208252610932602083018461519d565b6000608082526156c6608083018761519d565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b600060408252615709604083018561519d565b8281036020840152610de6818561519d565b60006060825261572e606083018661519d565b8281036020840152615740818661519d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600061016080835261577b8184018f61519d565b838103602085015261578d818f61519d565b91505082810360408401526157a2818d61519d565b83810360608501526157b4818d61519d565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061581685615b60565b84825283602083015260606040830152610de6606083018461519d565b6020810161584083615b6a565b91905290565b6060810161585385615b6a565b938152602081019290925260409091015290565b6060810161587485615b74565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161585385615b74565b606081016008851061585357fe5b60006158c486615b7e565b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de2608083018461519d565b6040810161590a84615b60565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261596760a0840182615157565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159a28183615157565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c182846151e7565b6000610180820190506159e48284516151e7565b60208301516159f660a08401826151e7565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a496040830185615217565b90508260208301529392505050565b600060608252615a6b6060830186615217565b8460208401528281036040840152613de2818561519d565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615add60e084018261519d565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b0c57600080fd5b604052919050565b600067ffffffffffffffff821115615b2a578081fd5b5060209081020190565b60005b83811015615b4f578181015183820152602001615b37565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b6007811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a090209056fea365627a7a723158206fc97c5a1d6fde6b2ada9eb4429966e52d7e2da39180893c04bf55c840b346a16c6578706572696d656e74616cf564736f6c634300050c0040'; + public EIP1271_MAGIC_VALUE = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. */ - async callAsync( - index_0: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('index_0', index_0); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -136,7 +125,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transactionsExecuted(bytes32)', [index_0]); + const encodedData = self._strictEncodeArguments('EIP1271_MAGIC_VALUE()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -156,9 +145,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transactionsExecuted(bytes32)'); + const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -168,10 +157,9 @@ export class ExchangeContract extends BaseContract { * to create a 0x transaction (see protocol spec for more details). * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(index_0: string): string { - assert.isString('index_0', index_0); + getABIEncodedTransactionData(): string { const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transactionsExecuted(bytes32)', [index_0]); + const abiEncodedTransactionData = self._strictEncodeArguments('EIP1271_MAGIC_VALUE()', []); return abiEncodedTransactionData; }, /** @@ -179,11 +167,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('transactionsExecuted(bytes32)'); + const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -191,11 +179,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): boolean { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('transactionsExecuted(bytes32)'); + const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -203,17 +191,17 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('transactionsExecuted(bytes32)'); + const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); return abiEncoder.getSelector(); }, }; - public protocolFeeMultiplier = { + public EIP712_EXCHANGE_DOMAIN_HASH = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -223,7 +211,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('protocolFeeMultiplier()', []); + const encodedData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -243,9 +231,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('protocolFeeMultiplier()'); + const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -257,7 +245,7 @@ export class ExchangeContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('protocolFeeMultiplier()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); return abiEncodedTransactionData; }, /** @@ -267,7 +255,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('protocolFeeMultiplier()'); + const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -277,11 +265,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('protocolFeeMultiplier()'); + const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -289,114 +277,236 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('protocolFeeMultiplier()'); + const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); return abiEncoder.getSelector(); }, }; - /** - * Executes an Exchange method call in the context of signer. - */ - public executeTransaction = { + public allowedValidators = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param transaction 0x transaction structure. - * @param signature Proof that transaction has been signed by signer. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. */ - async sendTransactionAsync( - transaction: { - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('signature', signature); + async callAsync( + index_0: string, + index_1: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('index_0', index_0); + assert.isString('index_1', index_1); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', - [transaction, signature], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...txData, + ...callData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; }, /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param transaction 0x transaction structure. - * @param signature Proof that transaction has been signed by signer. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string */ - awaitTransactionSuccessAsync( - transaction: { - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('signature', signature); + getABIEncodedTransactionData(index_0: string, index_1: string): string { + assert.isString('index_0', index_0); + assert.isString('index_1', index_1); const self = (this as any) as ExchangeContract; - const txHashPromise = self.executeTransaction.sendTransactionAsync(transaction, signature, txData); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); + const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), + ]); + return abiEncodedTransactionData; }, /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param transaction 0x transaction structure. - * @param signature Proof that transaction has been signed by signer. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - async estimateGasAsync( - transaction: { + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): boolean { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + return abiEncoder.getSelector(); + }, + }; + /** + * Executes multiple calls of cancelOrder. + */ + public batchCancelOrders = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param orders Array of order specifications. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + txData?: Partial | undefined, + ): Promise { + assert.isArray('orders', orders); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', + [orders], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + /** + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param orders Array of order specifications. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful + */ + awaitTransactionSuccessAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isArray('orders', orders); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + /** + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param orders Array of order specifications. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, txData?: Partial | undefined, ): Promise { - assert.isString('signature', signature); + assert.isArray('orders', orders); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', - [transaction, signature], + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', + [orders], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -414,41 +524,55 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - transaction: { - salt: BigNumber; + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, txData?: Partial | undefined, ): Promise { - await (this as any).executeTransaction.callAsync(transaction, signature, txData); - const txHash = await (this as any).executeTransaction.sendTransactionAsync(transaction, signature, txData); + await (this as any).batchCancelOrders.callAsync(orders, txData); + const txHash = await (this as any).batchCancelOrders.sendTransactionAsync(orders, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transaction 0x transaction structure. - * @param signature Proof that transaction has been signed by signer. - * @returns ABI encoded return data of the underlying Exchange function call. + * @param orders Array of order specifications. */ async callAsync( - transaction: { - salt: BigNumber; + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('signature', signature); + ): Promise { + assert.isArray('orders', orders); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -459,8 +583,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', - [transaction, signature], + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', + [orders], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -482,10 +606,10 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -493,25 +617,32 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transaction 0x transaction structure. - * @param signature Proof that transaction has been signed by signer. + * @param orders Array of order specifications. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - transaction: { - salt: BigNumber; + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, ): string { - assert.isString('signature', signature); + assert.isArray('orders', orders); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', - [transaction, signature], + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', + [orders], ); return abiEncodedTransactionData; }, @@ -522,25 +653,49 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData( callData: string, - ): { - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - } { + ): [ + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> + ] { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>(callData); + const abiDecodedCallData = abiEncoder.strictDecode< + [ + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> + ] + >(callData); return abiDecodedCallData; }, /** @@ -548,13 +703,13 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -563,23 +718,179 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', ); return abiEncoder.getSelector(); }, }; - public filled = { + /** + * Executes a batch of Exchange method calls in the context of signer(s). + */ + public batchExecuteTransactions = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param transactions Array of 0x transaction structures. + * @param signatures Array of proofs that transactions have been signed by + * signer(s). + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + transactions: Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>, + signatures: string[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('transactions', transactions); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + [transactions, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + /** + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param transactions Array of 0x transaction structures. + * @param signatures Array of proofs that transactions have been signed by + * signer(s). + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful + */ + awaitTransactionSuccessAsync( + transactions: Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>, + signatures: string[], + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isArray('transactions', transactions); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.batchExecuteTransactions.sendTransactionAsync(transactions, signatures, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + /** + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param transactions Array of 0x transaction structures. + * @param signatures Array of proofs that transactions have been signed by + * signer(s). + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync( + transactions: Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>, + signatures: string[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('transactions', transactions); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + [transactions, signatures], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + transactions: Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>, + signatures: string[], + txData?: Partial | undefined, + ): Promise { + await (this as any).batchExecuteTransactions.callAsync(transactions, signatures, txData); + const txHash = await (this as any).batchExecuteTransactions.sendTransactionAsync( + transactions, + signatures, + txData, + ); + return txHash; + }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param transactions Array of 0x transaction structures. + * @param signatures Array of proofs that transactions have been signed by + * signer(s). + * @returns Array containing ABI encoded return data for each of the underlying Exchange function calls. */ async callAsync( - index_0: string, + transactions: Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>, + signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('index_0', index_0); + ): Promise { + assert.isArray('transactions', transactions); + assert.isArray('signatures', signatures); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -589,7 +900,10 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0]); + const encodedData = self._strictEncodeArguments( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + [transactions, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -609,9 +923,11 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); + const abiEncoder = self._lookupAbiEncoder( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -619,12 +935,28 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param transactions Array of 0x transaction structures. + * @param signatures Array of proofs that transactions have been signed by + * signer(s). * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(index_0: string): string { - assert.isString('index_0', index_0); + getABIEncodedTransactionData( + transactions: Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>, + signatures: string[], + ): string { + assert.isArray('transactions', transactions); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + [transactions, signatures], + ); return abiEncodedTransactionData; }, /** @@ -632,103 +964,29 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): BigNumber { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); - return abiEncoder.getSelector(); - }, - }; - public cancelled = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - */ - async callAsync( - index_0: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('index_0', index_0); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + getABIDecodedTransactionData( + callData: string, + ): Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }> { const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), + const abiEncoder = self._lookupAbiEncoder( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(index_0: string): string { - assert.isString('index_0', index_0); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode< + Array<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }> + >(callData); return abiDecodedCallData; }, /** @@ -736,11 +994,13 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): boolean { + getABIDecodedReturnData(returnData: string): string[] { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); + const abiEncoder = self._lookupAbiEncoder( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -748,23 +1008,28 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); + const abiEncoder = self._lookupAbiEncoder( + 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', + ); return abiEncoder.getSelector(); }, }; /** - * After calling, the order can not be filled anymore. + * Executes multiple calls of fillOrKillOrder. */ - public cancelOrder = { + public batchFillOrKillOrders = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param order Order struct containing order specifications. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -779,13 +1044,18 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], txData?: Partial | undefined, ): Promise { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - [order], + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -805,13 +1075,16 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param order Order struct containing order specifications. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -826,13 +1099,23 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const txHashPromise = self.cancelOrder.sendTransactionAsync(order, txData); + const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -847,12 +1130,15 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param order Order struct containing order specifications. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -867,13 +1153,18 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], txData?: Partial | undefined, ): Promise { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - [order], + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -891,7 +1182,7 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -906,21 +1197,32 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], txData?: Partial | undefined, ): Promise { - await (this as any).cancelOrder.callAsync(order, txData); - const txHash = await (this as any).cancelOrder.sendTransactionAsync(order, txData); + await (this as any).batchFillOrKillOrders.callAsync(orders, takerAssetFillAmounts, signatures, txData); + const txHash = await (this as any).batchFillOrKillOrders.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param order Order struct containing order specifications. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. + * @returns Array of amounts filled and fees paid by makers and taker. */ async callAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -935,10 +1237,23 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + > { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -949,8 +1264,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - [order], + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -972,10 +1287,18 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -983,41 +1306,14 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param order Order struct containing order specifications. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }): string { - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - [order], - ); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData( - callData: string, - ): [ - { + getABIEncodedTransactionData( + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -1032,32 +1328,65 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - } - ] { + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData( + callData: string, + ): Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', ); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode< - [ - { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - } - ] + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> >(callData); return abiDecodedCallData; }, @@ -1066,13 +1395,29 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData( + returnData: string, + ): Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(returnData); return abiDecodedReturnData; }, /** @@ -1081,23 +1426,22 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', ); return abiEncoder.getSelector(); }, }; /** - * Executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. - * If any fill reverts, the error is caught and ignored. - * NOTE: This function does not enforce that the takerAsset is the same for each order. + * Executes multiple calls of fillOrder. */ - public marketSellOrdersNoThrow = { + public batchFillOrders = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. * @param orders Array of order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signatures Proofs that orders have been signed by makers. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ @@ -1118,17 +1462,17 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - takerAssetFillAmount: BigNumber, + takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1149,8 +1493,9 @@ export class ExchangeContract extends BaseContract { * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. * @param orders Array of order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signatures Proofs that orders have been signed by makers. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful @@ -1172,19 +1517,19 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - takerAssetFillAmount: BigNumber, + takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync( + const txHashPromise = self.batchFillOrders.sendTransactionAsync( orders, - takerAssetFillAmount, + takerAssetFillAmounts, signatures, txData, ); @@ -1203,8 +1548,9 @@ export class ExchangeContract extends BaseContract { /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. * @param orders Array of order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signatures Proofs that orders have been signed by makers. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ @@ -1225,17 +1571,17 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - takerAssetFillAmount: BigNumber, + takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1269,14 +1615,14 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - takerAssetFillAmount: BigNumber, + takerAssetFillAmounts: BigNumber[], signatures: string[], txData?: Partial | undefined, ): Promise { - await (this as any).marketSellOrdersNoThrow.callAsync(orders, takerAssetFillAmount, signatures, txData); - const txHash = await (this as any).marketSellOrdersNoThrow.sendTransactionAsync( + await (this as any).batchFillOrders.callAsync(orders, takerAssetFillAmounts, signatures, txData); + const txHash = await (this as any).batchFillOrders.sendTransactionAsync( orders, - takerAssetFillAmount, + takerAssetFillAmounts, signatures, txData, ); @@ -1287,9 +1633,10 @@ export class ExchangeContract extends BaseContract { * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. * @param orders Array of order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signatures Proofs that orders have been signed by makers. - * @returns Amounts filled and fees paid by makers and taker. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. + * @returns Array of amounts filled and fees paid by makers and taker. */ async callAsync( orders: Array<{ @@ -1308,19 +1655,21 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - takerAssetFillAmount: BigNumber, + takerAssetFillAmounts: BigNumber[], signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { + ): Promise< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + > { assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, @@ -1332,8 +1681,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -1355,16 +1704,18 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1373,8 +1724,9 @@ export class ExchangeContract extends BaseContract { * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). * @param orders Array of order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signatures Proofs that orders have been signed by makers. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( @@ -1394,16 +1746,16 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - takerAssetFillAmount: BigNumber, + takerAssetFillAmounts: BigNumber[], signatures: string[], ): string { assert.isArray('orders', orders); - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, takerAssetFillAmount, signatures], + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], ); return abiEncodedTransactionData; }, @@ -1432,7 +1784,7 @@ export class ExchangeContract extends BaseContract { }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', ); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode< @@ -1462,54 +1814,83 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData( returnData: string, - ): { + ): Array<{ makerAssetFilledAmount: BigNumber; takerAssetFilledAmount: BigNumber; makerFeePaid: BigNumber; takerFeePaid: BigNumber; protocolFeePaid: BigNumber; - } { + }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(returnData); - return abiDecodedReturnData; - }, + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(returnData); + return abiDecodedReturnData; + }, /** * Returns the 4 byte function selector as a hex string. */ getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', ); return abiEncoder.getSelector(); }, }; /** - * Approves a hash on-chain. - * After presigning a hash, the preSign signature type will become valid for that hash and signer. + * Executes multiple calls of fillOrder. If any fill reverts, the error is caught and ignored. */ - public preSign = { + public batchFillOrdersNoThrow = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param hash Any 32-byte hash. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync(hash: string, txData?: Partial | undefined): Promise { - assert.isString('hash', hash); + async sendTransactionAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1528,20 +1909,47 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param hash Any 32-byte hash. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - hash: string, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('hash', hash); + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const txHashPromise = self.preSign.sendTransactionAsync(hash, txData); + const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1556,14 +1964,42 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param hash Any 32-byte hash. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(hash: string, txData?: Partial | undefined): Promise { - assert.isString('hash', hash); + async estimateGasAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1579,19 +2015,79 @@ export class ExchangeContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync(hash: string, txData?: Partial | undefined): Promise { - await (this as any).preSign.callAsync(hash, txData); - const txHash = await (this as any).preSign.sendTransactionAsync(hash, txData); + async validateAndSendTransactionAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + txData?: Partial | undefined, + ): Promise { + await (this as any).batchFillOrdersNoThrow.callAsync(orders, takerAssetFillAmounts, signatures, txData); + const txHash = await (this as any).batchFillOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmounts, + signatures, + txData, + ); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param hash Any 32-byte hash. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. + * @returns Array of amounts filled and fees paid by makers and taker. */ - async callAsync(hash: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.isString('hash', hash); + async callAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + > { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1601,7 +2097,10 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); + const encodedData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1621,9 +2120,19 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('preSign(bytes32)'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -1631,13 +2140,40 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param hash Any 32-byte hash. + * @param orders Array of order specifications. + * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell + * in orders. + * @param signatures Proofs that orders have been created by makers. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(hash: string): string { - assert.isString('hash', hash); + getABIEncodedTransactionData( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmounts: BigNumber[], + signatures: string[], + ): string { + assert.isArray('orders', orders); + assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32)', [hash]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + [orders, takerAssetFillAmounts, signatures], + ); return abiEncodedTransactionData; }, /** @@ -1645,11 +2181,47 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('preSign(bytes32)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + getABIDecodedTransactionData( + callData: string, + ): Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + ); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode< + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> + >(callData); return abiDecodedCallData; }, /** @@ -1657,11 +2229,29 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData( + returnData: string, + ): Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('preSign(bytes32)'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< + Array<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> + >(returnData); return abiDecodedReturnData; }, /** @@ -1669,27 +2259,76 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('preSign(bytes32)'); + const abiEncoder = self._lookupAbiEncoder( + 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + ); return abiEncoder.getSelector(); }, }; /** - * Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch - * and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress). + * Match complementary orders that have a profitable spread. + * Each order is filled at their respective price point, and + * the matcher receives a profit denominated in the left maker asset. */ - public cancelOrdersUpTo = { + public batchMatchOrders = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param targetOrderEpoch Orders created with a salt less or equal to this - * value will be cancelled. + * @param leftOrders Set of orders with the same maker / taker asset. + * @param rightOrders Set of orders to match against `leftOrders` + * @param leftSignatures Proof that left orders were created by the left + * makers. + * @param rightSignatures Proof that right orders were created by the right + * makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + async sendTransactionAsync( + leftOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + rightOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + leftSignatures: string[], + rightSignatures: string[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('leftOrders', leftOrders); + assert.isArray('rightOrders', rightOrders); + assert.isArray('leftSignatures', leftSignatures); + assert.isArray('rightSignatures', rightSignatures); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + const encodedData = self._strictEncodeArguments( + 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + [leftOrders, rightOrders, leftSignatures, rightSignatures], + ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1708,21 +2347,67 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param targetOrderEpoch Orders created with a salt less or equal to this - * value will be cancelled. + * @param leftOrders Set of orders with the same maker / taker asset. + * @param rightOrders Set of orders to match against `leftOrders` + * @param leftSignatures Proof that left orders were created by the left + * makers. + * @param rightSignatures Proof that right orders were created by the right + * makers. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - targetOrderEpoch: BigNumber, + leftOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + rightOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + leftSignatures: string[], + rightSignatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + assert.isArray('leftOrders', leftOrders); + assert.isArray('rightOrders', rightOrders); + assert.isArray('leftSignatures', leftSignatures); + assert.isArray('rightSignatures', rightSignatures); const self = (this as any) as ExchangeContract; - const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, txData); + const txHashPromise = self.batchMatchOrders.sendTransactionAsync( + leftOrders, + rightOrders, + leftSignatures, + rightSignatures, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1737,15 +2422,61 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param targetOrderEpoch Orders created with a salt less or equal to this - * value will be cancelled. + * @param leftOrders Set of orders with the same maker / taker asset. + * @param rightOrders Set of orders to match against `leftOrders` + * @param leftSignatures Proof that left orders were created by the left + * makers. + * @param rightSignatures Proof that right orders were created by the right + * makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); + async estimateGasAsync( + leftOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + rightOrders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + leftSignatures: string[], + rightSignatures: string[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('leftOrders', leftOrders); + assert.isArray('rightOrders', rightOrders); + assert.isArray('leftSignatures', leftSignatures); + assert.isArray('rightSignatures', rightSignatures); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); + const encodedData = self._strictEncodeArguments( + 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + [leftOrders, rightOrders, leftSignatures, rightSignatures], + ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1762,228 +2493,6 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - targetOrderEpoch: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).cancelOrdersUpTo.callAsync(targetOrderEpoch, txData); - const txHash = await (this as any).cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, txData); - return txHash; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param targetOrderEpoch Orders created with a salt less or equal to this - * value will be cancelled. - */ - async callAsync( - targetOrderEpoch: BigNumber, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param targetOrderEpoch Orders created with a salt less or equal to this - * value will be cancelled. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(targetOrderEpoch: BigNumber): string { - assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [ - targetOrderEpoch, - ]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): [BigNumber] { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): void { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); - return abiEncoder.getSelector(); - }, - }; - /** - * Gets an asset proxy. - */ - public getAssetProxy = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param assetProxyId Id of the asset proxy. - * @returns The asset proxy registered to assetProxyId. Returns 0x0 if no proxy is registered. - */ - async callAsync( - assetProxyId: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('assetProxyId', assetProxyId); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param assetProxyId Id of the asset proxy. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(assetProxyId: string): string { - assert.isString('assetProxyId', assetProxyId); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); - return abiEncoder.getSelector(); - }, - }; - /** - * Match complementary orders that have a profitable spread. - * Each order is maximally filled at their respective price point, and - * the matcher receives a profit denominated in either the left maker asset, - * right maker asset, or a combination of both. - */ - public batchMatchOrdersWithMaximalFill = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param leftOrders Set of orders with the same maker / taker asset. - * @param rightOrders Set of orders to match against `leftOrders` - * @param leftSignatures Proof that left orders were created by the left - * makers. - * @param rightSignatures Proof that right orders were created by the right - * makers. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( leftOrders: Array<{ makerAddress: string; takerAddress: string; @@ -2020,244 +2529,35 @@ export class ExchangeContract extends BaseContract { rightSignatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('leftOrders', leftOrders); - assert.isArray('rightOrders', rightOrders); - assert.isArray('leftSignatures', leftSignatures); - assert.isArray('rightSignatures', rightSignatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', - [leftOrders, rightOrders, leftSignatures, rightSignatures], + await (this as any).batchMatchOrders.callAsync( + leftOrders, + rightOrders, + leftSignatures, + rightSignatures, + txData, ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), + const txHash = await (this as any).batchMatchOrders.sendTransactionAsync( + leftOrders, + rightOrders, + leftSignatures, + rightSignatures, + txData, ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); return txHash; }, /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. * @param leftOrders Set of orders with the same maker / taker asset. * @param rightOrders Set of orders to match against `leftOrders` * @param leftSignatures Proof that left orders were created by the left * makers. * @param rightSignatures Proof that right orders were created by the right * makers. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful + * @returns batchMatchedFillResults Amounts filled and profit generated. */ - awaitTransactionSuccessAsync( - leftOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - rightOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - leftSignatures: string[], - rightSignatures: string[], - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isArray('leftOrders', leftOrders); - assert.isArray('rightOrders', rightOrders); - assert.isArray('leftSignatures', leftSignatures); - assert.isArray('rightSignatures', rightSignatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchMatchOrdersWithMaximalFill.sendTransactionAsync( - leftOrders, - rightOrders, - leftSignatures, - rightSignatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); - }, - /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param leftOrders Set of orders with the same maker / taker asset. - * @param rightOrders Set of orders to match against `leftOrders` - * @param leftSignatures Proof that left orders were created by the left - * makers. - * @param rightSignatures Proof that right orders were created by the right - * makers. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync( - leftOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - rightOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - leftSignatures: string[], - rightSignatures: string[], - txData?: Partial | undefined, - ): Promise { - assert.isArray('leftOrders', leftOrders); - assert.isArray('rightOrders', rightOrders); - assert.isArray('leftSignatures', leftSignatures); - assert.isArray('rightSignatures', rightSignatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', - [leftOrders, rightOrders, leftSignatures, rightSignatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - leftOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - rightOrders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - leftSignatures: string[], - rightSignatures: string[], - txData?: Partial | undefined, - ): Promise { - await (this as any).batchMatchOrdersWithMaximalFill.callAsync( - leftOrders, - rightOrders, - leftSignatures, - rightSignatures, - txData, - ); - const txHash = await (this as any).batchMatchOrdersWithMaximalFill.sendTransactionAsync( - leftOrders, - rightOrders, - leftSignatures, - rightSignatures, - txData, - ); - return txHash; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param leftOrders Set of orders with the same maker / taker asset. - * @param rightOrders Set of orders to match against `leftOrders` - * @param leftSignatures Proof that left orders were created by the left - * makers. - * @param rightSignatures Proof that right orders were created by the right - * makers. - * @returns batchMatchedFillResults Amounts filled and profit generated. - */ - async callAsync( + async callAsync( leftOrders: Array<{ makerAddress: string; takerAddress: string; @@ -2326,7 +2626,7 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', [leftOrders, rightOrders, leftSignatures, rightSignatures], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -2349,7 +2649,7 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<{ @@ -2427,7 +2727,7 @@ export class ExchangeContract extends BaseContract { assert.isArray('rightSignatures', rightSignatures); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', [leftOrders, rightOrders, leftSignatures, rightSignatures], ); return abiEncodedTransactionData; @@ -2457,7 +2757,7 @@ export class ExchangeContract extends BaseContract { }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', ); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode< @@ -2507,7 +2807,7 @@ export class ExchangeContract extends BaseContract { } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ @@ -2536,17 +2836,18 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', ); return abiEncoder.getSelector(); }, }; /** * Match complementary orders that have a profitable spread. - * Each order is filled at their respective price point, and - * the matcher receives a profit denominated in the left maker asset. + * Each order is maximally filled at their respective price point, and + * the matcher receives a profit denominated in either the left maker asset, + * right maker asset, or a combination of both. */ - public batchMatchOrders = { + public batchMatchOrdersWithMaximalFill = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. @@ -2602,7 +2903,7 @@ export class ExchangeContract extends BaseContract { assert.isArray('rightSignatures', rightSignatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', [leftOrders, rightOrders, leftSignatures, rightSignatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -2677,7 +2978,7 @@ export class ExchangeContract extends BaseContract { assert.isArray('leftSignatures', leftSignatures); assert.isArray('rightSignatures', rightSignatures); const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchMatchOrders.sendTransactionAsync( + const txHashPromise = self.batchMatchOrdersWithMaximalFill.sendTransactionAsync( leftOrders, rightOrders, leftSignatures, @@ -2750,7 +3051,7 @@ export class ExchangeContract extends BaseContract { assert.isArray('rightSignatures', rightSignatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', [leftOrders, rightOrders, leftSignatures, rightSignatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -2805,14 +3106,14 @@ export class ExchangeContract extends BaseContract { rightSignatures: string[], txData?: Partial | undefined, ): Promise { - await (this as any).batchMatchOrders.callAsync( + await (this as any).batchMatchOrdersWithMaximalFill.callAsync( leftOrders, rightOrders, leftSignatures, rightSignatures, txData, ); - const txHash = await (this as any).batchMatchOrders.sendTransactionAsync( + const txHash = await (this as any).batchMatchOrdersWithMaximalFill.sendTransactionAsync( leftOrders, rightOrders, leftSignatures, @@ -2902,7 +3203,7 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', [leftOrders, rightOrders, leftSignatures, rightSignatures], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -2925,7 +3226,7 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<{ @@ -3003,7 +3304,7 @@ export class ExchangeContract extends BaseContract { assert.isArray('rightSignatures', rightSignatures); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', [leftOrders, rightOrders, leftSignatures, rightSignatures], ); return abiEncodedTransactionData; @@ -3033,7 +3334,7 @@ export class ExchangeContract extends BaseContract { }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', ); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode< @@ -3083,7 +3384,7 @@ export class ExchangeContract extends BaseContract { } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ @@ -3112,36 +3413,46 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchMatchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', + 'batchMatchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],bytes[])', ); return abiEncoder.getSelector(); }, }; /** - * Approves/unnapproves a Validator contract to verify signatures on signer's behalf - * using the `Validator` signature type. + * After calling, the order can not be filled anymore. */ - public setSignatureValidatorApproval = { + public cancelOrder = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param validatorAddress Address of Validator contract. - * @param approval Approval or disapproval of Validator contract. + * @param order Order struct containing order specifications. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - validatorAddress: string, - approval: boolean, - txData?: Partial | undefined, - ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ - validatorAddress.toLowerCase(), - approval, - ]); + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + txData?: Partial | undefined, + ): Promise { + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], + ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3160,27 +3471,34 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param validatorAddress Address of Validator contract. - * @param approval Approval or disapproval of Validator contract. + * @param order Order struct containing order specifications. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - validatorAddress: string, - approval: boolean, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); const self = (this as any) as ExchangeContract; - const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync( - validatorAddress.toLowerCase(), - approval, - txData, - ); + const txHashPromise = self.cancelOrder.sendTransactionAsync(order, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -3195,23 +3513,34 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param validatorAddress Address of Validator contract. - * @param approval Approval or disapproval of Validator contract. + * @param order Order struct containing order specifications. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - validatorAddress: string, - approval: boolean, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, txData?: Partial | undefined, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ - validatorAddress.toLowerCase(), - approval, - ]); + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], + ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3228,33 +3557,54 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - validatorAddress: string, - approval: boolean, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, txData?: Partial | undefined, ): Promise { - await (this as any).setSignatureValidatorApproval.callAsync(validatorAddress, approval, txData); - const txHash = await (this as any).setSignatureValidatorApproval.sendTransactionAsync( - validatorAddress, - approval, - txData, - ); + await (this as any).cancelOrder.callAsync(order, txData); + const txHash = await (this as any).cancelOrder.sendTransactionAsync(order, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param validatorAddress Address of Validator contract. - * @param approval Approval or disapproval of Validator contract. + * @param order Order struct containing order specifications. */ async callAsync( - validatorAddress: string, - approval: boolean, + order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3264,10 +3614,10 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ - validatorAddress.toLowerCase(), - approval, - ]); + const encodedData = self._strictEncodeArguments( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3287,7 +3637,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); + const abiEncoder = self._lookupAbiEncoder( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -3297,17 +3649,29 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param validatorAddress Address of Validator contract. - * @param approval Approval or disapproval of Validator contract. + * @param order Order struct containing order specifications. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(validatorAddress: string, approval: boolean): string { - assert.isString('validatorAddress', validatorAddress); - assert.isBoolean('approval', approval); + getABIEncodedTransactionData(order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }): string { const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'setSignatureValidatorApproval(address,bool)', - [validatorAddress.toLowerCase(), approval], + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], ); return abiEncodedTransactionData; }, @@ -3316,11 +3680,51 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string, boolean] { + getABIDecodedTransactionData( + callData: string, + ): [ + { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + } + ] { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); + const abiEncoder = self._lookupAbiEncoder( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, boolean]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode< + [ + { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + } + ] + >(callData); return abiDecodedCallData; }, /** @@ -3330,7 +3734,9 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); + const abiEncoder = self._lookupAbiEncoder( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -3340,54 +3746,29 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); + const abiEncoder = self._lookupAbiEncoder( + 'cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + ); return abiEncoder.getSelector(); }, }; /** - * Executes multiple calls of fillOrder until total amount of makerAsset is bought by taker. - * If any fill reverts, the error is caught and ignored. - * NOTE: This function does not enforce that the makerAsset is the same for each order. + * Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch + * and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress). */ - public marketBuyOrdersNoThrow = { + public cancelOrdersUpTo = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param orders Array of order specifications. - * @param makerAssetFillAmount Desired amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. + * @param targetOrderEpoch Orders created with a salt less or equal to this + * value will be cancelled. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + async sendTransactionAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3406,46 +3787,21 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param orders Array of order specifications. - * @param makerAssetFillAmount Desired amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. + * @param targetOrderEpoch Orders created with a salt less or equal to this + * value will be cancelled. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + targetOrderEpoch: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - txData, - ); + const txHashPromise = self.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -3460,41 +3816,15 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param orders Array of order specifications. - * @param makerAssetFillAmount Desired amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. + * @param targetOrderEpoch Orders created with a salt less or equal to this + * value will be cancelled. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + async estimateGasAsync(targetOrderEpoch: BigNumber, txData?: Partial | undefined): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3511,75 +3841,26 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + targetOrderEpoch: BigNumber, txData?: Partial | undefined, ): Promise { - await (this as any).marketBuyOrdersNoThrow.callAsync(orders, makerAssetFillAmount, signatures, txData); - const txHash = await (this as any).marketBuyOrdersNoThrow.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - txData, - ); + await (this as any).cancelOrdersUpTo.callAsync(targetOrderEpoch, txData); + const txHash = await (this as any).cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param orders Array of order specifications. - * @param makerAssetFillAmount Desired amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. - * @returns Amounts filled and fees paid by makers and taker. + * @param targetOrderEpoch Orders created with a salt less or equal to this + * value will be cancelled. */ async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + targetOrderEpoch: BigNumber, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + ): Promise { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3589,10 +3870,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const encodedData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [targetOrderEpoch]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3612,17 +3890,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -3630,39 +3900,16 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param orders Array of order specifications. - * @param makerAssetFillAmount Desired amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. + * @param targetOrderEpoch Orders created with a salt less or equal to this + * value will be cancelled. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], - ): string { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + getABIEncodedTransactionData(targetOrderEpoch: BigNumber): string { + assert.isBigNumber('targetOrderEpoch', targetOrderEpoch); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('cancelOrdersUpTo(uint256)', [ + targetOrderEpoch, + ]); return abiEncodedTransactionData; }, /** @@ -3670,47 +3917,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData( - callData: string, - ): Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> { + getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -3718,27 +3929,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData( - returnData: string, - ): { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - } { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -3746,13 +3941,11 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('cancelOrdersUpTo(uint256)'); return abiEncoder.getSelector(); }, }; - public allowedValidators = { + public cancelled = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -3760,12 +3953,10 @@ export class ExchangeContract extends BaseContract { */ async callAsync( index_0: string, - index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { assert.isString('index_0', index_0); - assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3775,10 +3966,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('allowedValidators(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const encodedData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3798,7 +3986,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -3810,14 +3998,10 @@ export class ExchangeContract extends BaseContract { * to create a 0x transaction (see protocol spec for more details). * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(index_0: string, index_1: string): string { + getABIEncodedTransactionData(index_0: string): string { assert.isString('index_0', index_0); - assert.isString('index_1', index_1); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('allowedValidators(address,address)', [ - index_0.toLowerCase(), - index_1.toLowerCase(), - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('cancelled(bytes32)', [index_0]); return abiEncodedTransactionData; }, /** @@ -3827,7 +4011,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -3839,7 +4023,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -3849,33 +4033,17 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('allowedValidators(address,address)'); + const abiEncoder = self._lookupAbiEncoder('cancelled(bytes32)'); return abiEncoder.getSelector(); }, }; - /** - * Verifies that a hash has been signed by the given signer. - */ - public isValidHashSignature = { + public currentContextAddress = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param hash Any 32-byte hash. - * @param signerAddress Address that should have signed the given hash. - * @param signature Proof that the hash has been signed by signer. - * @returns isValid `true` if the signature is valid for the given hash and signer. */ - async callAsync( - hash: string, - signerAddress: string, - signature: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -3885,11 +4053,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('isValidHashSignature(bytes32,address,bytes)', [ - hash, - signerAddress.toLowerCase(), - signature, - ]); + const encodedData = self._strictEncodeArguments('currentContextAddress()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -3909,9 +4073,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -3919,20 +4083,11 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param hash Any 32-byte hash. - * @param signerAddress Address that should have signed the given hash. - * @param signature Proof that the hash has been signed by signer. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { - assert.isString('hash', hash); - assert.isString('signerAddress', signerAddress); - assert.isString('signature', signature); + getABIEncodedTransactionData(): string { const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'isValidHashSignature(bytes32,address,bytes)', - [hash, signerAddress.toLowerCase(), signature], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('currentContextAddress()', []); return abiEncodedTransactionData; }, /** @@ -3940,11 +4095,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): string { + getABIDecodedTransactionData(callData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -3952,11 +4107,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): boolean { + getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -3964,118 +4119,166 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); + const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); return abiEncoder.getSelector(); }, }; - public preSigned = { + /** + * Executes an Exchange method call in the context of signer. + */ + public executeTransaction = { /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param transaction 0x transaction structure. + * @param signature Proof that transaction has been signed by signer. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - async callAsync( - index_0: string, - index_1: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('index_0', index_0); - assert.isString('index_1', index_1); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + async sendTransactionAsync( + transaction: { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }, + signature: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [ - index_0, - index_1.toLowerCase(), - ]); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + [transaction, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(index_0: string, index_1: string): string { - assert.isString('index_0', index_0); - assert.isString('index_1', index_1); - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [ - index_0, - index_1.toLowerCase(), - ]); - return abiEncodedTransactionData; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param transaction 0x transaction structure. + * @param signature Proof that transaction has been signed by signer. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ - getABIDecodedTransactionData(callData: string): string { + awaitTransactionSuccessAsync( + transaction: { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }, + signature: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; + const txHashPromise = self.executeTransaction.sendTransactionAsync(transaction, signature, txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); }, /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param transaction 0x transaction structure. + * @param signature Proof that transaction has been signed by signer. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - getABIDecodedReturnData(returnData: string): boolean { + async estimateGasAsync( + transaction: { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }, + signature: string, + txData?: Partial | undefined, + ): Promise { + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); - return abiEncoder.getSelector(); + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + [transaction, signature], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + transaction: { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }, + signature: string, + txData?: Partial | undefined, + ): Promise { + await (this as any).executeTransaction.callAsync(transaction, signature, txData); + const txHash = await (this as any).executeTransaction.sendTransactionAsync(transaction, signature, txData); + return txHash; }, - }; - public protocolFeeCollector = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param transaction 0x transaction structure. + * @param signature Proof that transaction has been signed by signer. + * @returns ABI encoded return data of the underlying Exchange function call. */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + transaction: { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }, + signature: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4085,7 +4288,10 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('protocolFeeCollector()', []); + const encodedData = self._strictEncodeArguments( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + [transaction, signature], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -4105,7 +4311,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('protocolFeeCollector()'); + const abiEncoder = self._lookupAbiEncoder( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -4115,11 +4323,26 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param transaction 0x transaction structure. + * @param signature Proof that transaction has been signed by signer. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData( + transaction: { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }, + signature: string, + ): string { + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('protocolFeeCollector()', []); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + [transaction, signature], + ); return abiEncodedTransactionData; }, /** @@ -4127,11 +4350,27 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData( + callData: string, + ): { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + } { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('protocolFeeCollector()'); + const abiEncoder = self._lookupAbiEncoder( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>(callData); return abiDecodedCallData; }, /** @@ -4141,7 +4380,9 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('protocolFeeCollector()'); + const abiEncoder = self._lookupAbiEncoder( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -4151,45 +4392,27 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('protocolFeeCollector()'); + const abiEncoder = self._lookupAbiEncoder( + 'executeTransaction((uint256,uint256,uint256,address,bytes),bytes)', + ); return abiEncoder.getSelector(); }, }; /** - * Match two complementary orders that have a profitable spread. - * Each order is filled at their respective price point. However, the calculations are - * carried out as though the orders are both being filled at the right order's price point. - * The profit made by the left order goes to the taker (who matched the two orders). + * Fills the input order. Reverts if exact takerAssetFillAmount not filled. */ - public matchOrders = { + public fillOrKillOrder = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param leftOrder First order to match. - * @param rightOrder Second order to match. - * @param leftSignature Proof that order was created by the left maker. - * @param rightSignature Proof that order was created by the right maker. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - rightOrder: { + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4205,16 +4428,16 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }, - leftSignature: string, - rightSignature: string, + takerAssetFillAmount: BigNumber, + signature: string, txData?: Partial | undefined, ): Promise { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4234,32 +4457,15 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param leftOrder First order to match. - * @param rightOrder Second order to match. - * @param leftSignature Proof that order was created by the left maker. - * @param rightSignature Proof that order was created by the right maker. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - rightOrder: { + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4275,20 +4481,19 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }, - leftSignature: string, - rightSignature: string, + takerAssetFillAmount: BigNumber, + signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; - const txHashPromise = self.matchOrders.sendTransactionAsync( - leftOrder, - rightOrder, - leftSignature, - rightSignature, + const txHashPromise = self.fillOrKillOrder.sendTransactionAsync( + order, + takerAssetFillAmount, + signature, txData, ); return new PromiseWithTransactionHash( @@ -4305,31 +4510,14 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param leftOrder First order to match. - * @param rightOrder Second order to match. - * @param leftSignature Proof that order was created by the left maker. - * @param rightSignature Proof that order was created by the right maker. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - rightOrder: { + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4345,16 +4533,16 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }, - leftSignature: string, - rightSignature: string, + takerAssetFillAmount: BigNumber, + signature: string, txData?: Partial | undefined, ): Promise { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4372,23 +4560,7 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - rightOrder: { + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4404,16 +4576,15 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }, - leftSignature: string, - rightSignature: string, + takerAssetFillAmount: BigNumber, + signature: string, txData?: Partial | undefined, ): Promise { - await (this as any).matchOrders.callAsync(leftOrder, rightOrder, leftSignature, rightSignature, txData); - const txHash = await (this as any).matchOrders.sendTransactionAsync( - leftOrder, - rightOrder, - leftSignature, - rightSignature, + await (this as any).fillOrKillOrder.callAsync(order, takerAssetFillAmount, signature, txData); + const txHash = await (this as any).fillOrKillOrder.sendTransactionAsync( + order, + takerAssetFillAmount, + signature, txData, ); return txHash; @@ -4422,30 +4593,12 @@ export class ExchangeContract extends BaseContract { * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param leftOrder First order to match. - * @param rightOrder Second order to match. - * @param leftSignature Proof that order was created by the left maker. - * @param rightSignature Proof that order was created by the right maker. - * @returns matchedFillResults Amounts filled and fees paid by maker and taker of matched orders. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. */ async callAsync( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - rightOrder: { + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4461,30 +4614,19 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }, - leftSignature: string, - rightSignature: string, + takerAssetFillAmount: BigNumber, + signature: string, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }; - profitInLeftMakerAsset: BigNumber; - profitInRightMakerAsset: BigNumber; + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; }> { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4495,8 +4637,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4518,26 +4660,15 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }; - profitInLeftMakerAsset: BigNumber; - profitInRightMakerAsset: BigNumber; + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; }>(rawCallResult); // tslint:enable boolean-naming return result; @@ -4546,30 +4677,13 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param leftOrder First order to match. - * @param rightOrder Second order to match. - * @param leftSignature Proof that order was created by the left maker. - * @param rightSignature Proof that order was created by the right maker. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - leftOrder: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - rightOrder: { + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4585,15 +4699,15 @@ export class ExchangeContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }, - leftSignature: string, - rightSignature: string, + takerAssetFillAmount: BigNumber, + signature: string, ): string { - assert.isString('leftSignature', leftSignature); - assert.isString('rightSignature', rightSignature); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', - [leftOrder, rightOrder, leftSignature, rightSignature], + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], ); return abiEncodedTransactionData; }, @@ -4622,7 +4736,7 @@ export class ExchangeContract extends BaseContract { } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', ); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<{ @@ -4651,45 +4765,23 @@ export class ExchangeContract extends BaseContract { getABIDecodedReturnData( returnData: string, ): { - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }; - profitInLeftMakerAsset: BigNumber; - profitInRightMakerAsset: BigNumber; + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ - left: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }; - right: { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }; - profitInLeftMakerAsset: BigNumber; - profitInRightMakerAsset: BigNumber; + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; }>(returnData); return abiDecodedReturnData; }, @@ -4699,27 +4791,26 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', ); return abiEncoder.getSelector(); }, }; /** - * Calls marketBuyOrdersNoThrow then reverts if < makerAssetFillAmount has been bought. - * NOTE: This function does not enforce that the makerAsset is the same for each order. + * Fills the input order. */ - public marketBuyOrdersFillOrKill = { + public fillOrder = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param orders Array of order specifications. - * @param makerAssetFillAmount Minimum amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - orders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4734,18 +4825,17 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + }, + takerAssetFillAmount: BigNumber, + signature: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4765,15 +4855,15 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param orders Array of order specifications. - * @param makerAssetFillAmount Minimum amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - orders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4788,23 +4878,17 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + }, + takerAssetFillAmount: BigNumber, + signature: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; - const txHashPromise = self.marketBuyOrdersFillOrKill.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, - txData, - ); + const txHashPromise = self.fillOrder.sendTransactionAsync(order, takerAssetFillAmount, signature, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -4819,14 +4903,14 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param orders Array of order specifications. - * @param makerAssetFillAmount Minimum amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - orders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4841,18 +4925,17 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + }, + takerAssetFillAmount: BigNumber, + signature: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4870,7 +4953,7 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - orders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4885,16 +4968,16 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + }, + takerAssetFillAmount: BigNumber, + signature: string, txData?: Partial | undefined, ): Promise { - await (this as any).marketBuyOrdersFillOrKill.callAsync(orders, makerAssetFillAmount, signatures, txData); - const txHash = await (this as any).marketBuyOrdersFillOrKill.sendTransactionAsync( - orders, - makerAssetFillAmount, - signatures, + await (this as any).fillOrder.callAsync(order, takerAssetFillAmount, signature, txData); + const txHash = await (this as any).fillOrder.sendTransactionAsync( + order, + takerAssetFillAmount, + signature, txData, ); return txHash; @@ -4903,13 +4986,13 @@ export class ExchangeContract extends BaseContract { * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param orders Array of order specifications. - * @param makerAssetFillAmount Minimum amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. - * @returns Amounts filled and fees paid by makers and taker. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. + * @returns Amounts filled and fees paid by maker and taker. */ async callAsync( - orders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -4924,9 +5007,9 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + }, + takerAssetFillAmount: BigNumber, + signature: string, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise<{ @@ -4936,9 +5019,8 @@ export class ExchangeContract extends BaseContract { takerFeePaid: BigNumber; protocolFeePaid: BigNumber; }> { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -4949,8 +5031,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -4972,7 +5054,7 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<{ @@ -4989,13 +5071,13 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param orders Array of order specifications. - * @param makerAssetFillAmount Minimum amount of makerAsset to buy. - * @param signatures Proofs that orders have been signed by makers. + * @param order Order struct containing order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signature Proof that order has been created by maker. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - orders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -5010,17 +5092,16 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - makerAssetFillAmount: BigNumber, - signatures: string[], + }, + takerAssetFillAmount: BigNumber, + signature: string, ): string { - assert.isArray('orders', orders); - assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); - assert.isArray('signatures', signatures); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', - [orders, makerAssetFillAmount, signatures], + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + [order, takerAssetFillAmount, signature], ); return abiEncodedTransactionData; }, @@ -5031,7 +5112,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData( callData: string, - ): Array<{ + ): { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -5046,30 +5127,28 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }> { + } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>(callData); return abiDecodedCallData; }, /** @@ -5088,7 +5167,7 @@ export class ExchangeContract extends BaseContract { } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ @@ -5106,36 +5185,23 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', ); return abiEncoder.getSelector(); }, }; - /** - * Verifies that a signature for a transaction is valid. - */ - public isValidTransactionSignature = { + public filled = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transaction The transaction. - * @param signature Proof that the order has been signed by signer. - * @returns isValid `true` if the signature is valid for the given transaction and signer. */ async callAsync( - transaction: { - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, + index_0: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('signature', signature); + ): Promise { + assert.isString('index_0', index_0); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -5145,10 +5211,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', - [transaction, signature], - ); + const encodedData = self._strictEncodeArguments('filled(bytes32)', [index_0]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -5168,11 +5231,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -5180,26 +5241,12 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transaction The transaction. - * @param signature Proof that the order has been signed by signer. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - transaction: { - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }, - signature: string, - ): string { - assert.isString('signature', signature); + getABIEncodedTransactionData(index_0: string): string { + assert.isString('index_0', index_0); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', - [transaction, signature], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('filled(bytes32)', [index_0]); return abiEncodedTransactionData; }, /** @@ -5207,27 +5254,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData( - callData: string, - ): { - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - } { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -5235,13 +5266,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): boolean { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -5249,19 +5278,27 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('filled(bytes32)'); return abiEncoder.getSelector(); }, }; - public owner = { + /** + * Gets an asset proxy. + */ + public getAssetProxy = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param assetProxyId Id of the asset proxy. + * @returns The asset proxy registered to assetProxyId. Returns 0x0 if no proxy is registered. */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + async callAsync( + assetProxyId: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('assetProxyId', assetProxyId); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -5271,7 +5308,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('owner()', []); + const encodedData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -5291,7 +5328,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -5301,11 +5338,13 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param assetProxyId Id of the asset proxy. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(): string { + getABIEncodedTransactionData(assetProxyId: string): string { + assert.isString('assetProxyId', assetProxyId); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('getAssetProxy(bytes4)', [assetProxyId]); return abiEncodedTransactionData; }, /** @@ -5313,11 +5352,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -5327,7 +5366,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -5337,26 +5376,23 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder('getAssetProxy(bytes4)'); return abiEncoder.getSelector(); }, }; /** - * Executes multiple calls of fillOrder. If any fill reverts, the error is caught and ignored. + * Gets information about an order: status, hash, and amount filled. */ - public batchFillOrdersNoThrow = { + public getOrderInfo = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param order Order to gather information on. + * @returns OrderInfo Information about the order and its state. See LibOrder.OrderInfo for a complete description. */ - async sendTransactionAsync( - orders: Array<{ + async callAsync( + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -5371,216 +5407,10 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful - */ - awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrdersNoThrow.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); - }, - /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial | undefined, - ): Promise { - await (this as any).batchFillOrdersNoThrow.callAsync(orders, takerAssetFillAmounts, signatures, txData); - const txHash = await (this as any).batchFillOrdersNoThrow.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return txHash; - }, - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @returns Array of amounts filled and fees paid by makers and taker. - */ - async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], + }, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> - > { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + ): Promise<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> { assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -5591,8 +5421,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -5614,18 +5444,14 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + orderStatus: number; + orderHash: string; + orderTakerAssetFilledAmount: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -5633,39 +5459,29 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. + * @param order Order to gather information on. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - ): string { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + getABIEncodedTransactionData(order: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }): string { const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + [order], ); return abiEncodedTransactionData; }, @@ -5676,7 +5492,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData( callData: string, - ): Array<{ + ): { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -5691,30 +5507,28 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }> { + } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>(callData); return abiDecodedCallData; }, /** @@ -5724,27 +5538,17 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData( returnData: string, - ): Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { + ): { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> - >(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ + orderStatus: number; + orderHash: string; + orderTakerAssetFilledAmount: BigNumber; + }>(returnData); return abiDecodedReturnData; }, /** @@ -5753,131 +5557,34 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', ); return abiEncoder.getSelector(); }, }; /** - * Allows the owner to update the protocol fee multiplier. + * Verifies that a hash has been signed by the given signer. */ - public setProtocolFeeMultiplier = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( - updatedProtocolFeeMultiplier: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ - updatedProtocolFeeMultiplier, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful - */ - awaitTransactionSuccessAsync( - updatedProtocolFeeMultiplier: BigNumber, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.setProtocolFeeMultiplier.sendTransactionAsync( - updatedProtocolFeeMultiplier, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); - }, - /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync( - updatedProtocolFeeMultiplier: BigNumber, - txData?: Partial | undefined, - ): Promise { - assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ - updatedProtocolFeeMultiplier, - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - updatedProtocolFeeMultiplier: BigNumber, - txData?: Partial | undefined, - ): Promise { - await (this as any).setProtocolFeeMultiplier.callAsync(updatedProtocolFeeMultiplier, txData); - const txHash = await (this as any).setProtocolFeeMultiplier.sendTransactionAsync( - updatedProtocolFeeMultiplier, - txData, - ); - return txHash; - }, + public isValidHashSignature = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. + * @param hash Any 32-byte hash. + * @param signerAddress Address that should have signed the given hash. + * @param signature Proof that the hash has been signed by signer. + * @returns isValid `true` if the signature is valid for the given hash and signer. */ async callAsync( - updatedProtocolFeeMultiplier: BigNumber, + hash: string, + signerAddress: string, + signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); + ): Promise { + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -5887,8 +5594,10 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ - updatedProtocolFeeMultiplier, + const encodedData = self._strictEncodeArguments('isValidHashSignature(bytes32,address,bytes)', [ + hash, + signerAddress.toLowerCase(), + signature, ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -5909,9 +5618,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); + const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -5919,15 +5628,20 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. + * @param hash Any 32-byte hash. + * @param signerAddress Address that should have signed the given hash. + * @param signature Proof that the hash has been signed by signer. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(updatedProtocolFeeMultiplier: BigNumber): string { - assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); + getABIEncodedTransactionData(hash: string, signerAddress: string, signature: string): string { + assert.isString('hash', hash); + assert.isString('signerAddress', signerAddress); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ - updatedProtocolFeeMultiplier, - ]); + const abiEncodedTransactionData = self._strictEncodeArguments( + 'isValidHashSignature(bytes32,address,bytes)', + [hash, signerAddress.toLowerCase(), signature], + ); return abiEncodedTransactionData; }, /** @@ -5935,11 +5649,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [BigNumber] { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); + const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -5947,11 +5661,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); + const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -5959,219 +5673,24 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); + const abiEncoder = self._lookupAbiEncoder('isValidHashSignature(bytes32,address,bytes)'); return abiEncoder.getSelector(); }, }; /** - * Executes multiple calls of fillOrder. + * Verifies that a signature for an order is valid. */ - public batchFillOrders = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful - */ - awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); - }, - /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], - ); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial | undefined, - ): Promise { - await (this as any).batchFillOrders.callAsync(orders, takerAssetFillAmounts, signatures, txData); - const txHash = await (this as any).batchFillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, - txData, - ); - return txHash; - }, + public isValidOrderSignature = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @returns Array of amounts filled and fees paid by makers and taker. + * @param order The order. + * @param signature Proof that the order has been signed by signer. + * @returns isValid `true` if the signature is valid for the given order and signer. */ async callAsync( - orders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6186,23 +5705,12 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], + }, + signature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> - > { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + ): Promise { + assert.isString('signature', signature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -6213,8 +5721,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + [order, signature], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -6236,18 +5744,10 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> - >(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -6255,14 +5755,12 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. + * @param order The order. + * @param signature Proof that the order has been signed by signer. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - orders: Array<{ + order: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6277,17 +5775,14 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], + }, + signature: string, ): string { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + assert.isString('signature', signature); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + [order, signature], ); return abiEncodedTransactionData; }, @@ -6298,7 +5793,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData( callData: string, - ): Array<{ + ): { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6313,30 +5808,28 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }> { + } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>(callData); return abiDecodedCallData; }, /** @@ -6344,29 +5837,13 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData( - returnData: string, - ): Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { + getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> - >(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -6375,26 +5852,171 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', ); return abiEncoder.getSelector(); }, }; /** - * Fills the input order. + * Verifies that a signature for a transaction is valid. */ - public fillOrder = { + public isValidTransactionSignature = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param transaction The transaction. + * @param signature Proof that the order has been signed by signer. + * @returns isValid `true` if the signature is valid for the given transaction and signer. + */ + async callAsync( + transaction: { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }, + signature: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('signature', signature); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', + [transaction, signature], + ); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder( + 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', + ); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param transaction The transaction. + * @param signature Proof that the order has been signed by signer. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData( + transaction: { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }, + signature: string, + ): string { + assert.isString('signature', signature); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', + [transaction, signature], + ); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData( + callData: string, + ): { + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + } { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', + ); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode<{ + salt: BigNumber; + expirationTimeSeconds: BigNumber; + gasPrice: BigNumber; + signerAddress: string; + data: string; + }>(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): boolean { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'isValidTransactionSignature((uint256,uint256,uint256,address,bytes),bytes)', + ); + return abiEncoder.getSelector(); + }, + }; + /** + * Calls marketBuyOrdersNoThrow then reverts if < makerAssetFillAmount has been bought. + * NOTE: This function does not enforce that the makerAsset is the same for each order. + */ + public marketBuyOrdersFillOrKill = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Minimum amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6409,17 +6031,18 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], + 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -6439,15 +6062,15 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Minimum amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6462,17 +6085,23 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.fillOrder.sendTransactionAsync(order, takerAssetFillAmount, signature, txData); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.marketBuyOrdersFillOrKill.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -6487,14 +6116,14 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Minimum amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6509,17 +6138,18 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], + 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -6537,7 +6167,7 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6552,16 +6182,16 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], txData?: Partial | undefined, ): Promise { - await (this as any).fillOrder.callAsync(order, takerAssetFillAmount, signature, txData); - const txHash = await (this as any).fillOrder.sendTransactionAsync( - order, - takerAssetFillAmount, - signature, + await (this as any).marketBuyOrdersFillOrKill.callAsync(orders, makerAssetFillAmount, signatures, txData); + const txHash = await (this as any).marketBuyOrdersFillOrKill.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, txData, ); return txHash; @@ -6570,13 +6200,13 @@ export class ExchangeContract extends BaseContract { * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. - * @returns Amounts filled and fees paid by maker and taker. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Minimum amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. + * @returns Amounts filled and fees paid by makers and taker. */ async callAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6591,9 +6221,9 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, ): Promise<{ @@ -6603,8 +6233,9 @@ export class ExchangeContract extends BaseContract { takerFeePaid: BigNumber; protocolFeePaid: BigNumber; }> { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -6615,8 +6246,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], + 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -6638,7 +6269,7 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<{ @@ -6655,13 +6286,13 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Minimum amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6676,16 +6307,17 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], ): string { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], + 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], ); return abiEncodedTransactionData; }, @@ -6696,7 +6328,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData( callData: string, - ): { + ): Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6711,28 +6343,30 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - } { + }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>(callData); + const abiDecodedCallData = abiEncoder.strictDecode< + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> + >(callData); return abiDecodedCallData; }, /** @@ -6751,7 +6385,7 @@ export class ExchangeContract extends BaseContract { } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ @@ -6769,24 +6403,28 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', + 'marketBuyOrdersFillOrKill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); return abiEncoder.getSelector(); }, }; /** - * Gets information about an order: status, hash, and amount filled. + * Executes multiple calls of fillOrder until total amount of makerAsset is bought by taker. + * If any fill reverts, the error is caught and ignored. + * NOTE: This function does not enforce that the makerAsset is the same for each order. */ - public getOrderInfo = { + public marketBuyOrdersNoThrow = { /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - * @param order Order to gather information on. - * @returns OrderInfo Information about the order and its state. See LibOrder.OrderInfo for a complete description. + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Desired amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - async callAsync( - order: { + async sendTransactionAsync( + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6801,113 +6439,46 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<{ orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber }> { - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - [order], + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], ); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - ); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - orderStatus: number; - orderHash: string; - orderTakerAssetFilledAmount: BigNumber; - }>(rawCallResult); - // tslint:enable boolean-naming - return result; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param order Order to gather information on. - * @returns The ABI encoded transaction data as a string + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Desired amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ - getABIEncodedTransactionData(order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }): string { - const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - [order], - ); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData( - callData: string, - ): { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - } { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', - ); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<{ + awaitTransactionSuccessAsync( + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6922,54 +6493,128 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData( - returnData: string, - ): { orderStatus: number; orderHash: string; orderTakerAssetFilledAmount: BigNumber } { + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + const txHashPromise = self.marketBuyOrdersNoThrow.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), ); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ - orderStatus: number; - orderHash: string; - orderTakerAssetFilledAmount: BigNumber; - }>(returnData); - return abiDecodedReturnData; }, /** - * Returns the 4 byte function selector as a hex string. + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Desired amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - getSelector(): string { + async estimateGasAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes))', + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], ); - return abiEncoder.getSelector(); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], + txData?: Partial | undefined, + ): Promise { + await (this as any).marketBuyOrdersNoThrow.callAsync(orders, makerAssetFillAmount, signatures, txData); + const txHash = await (this as any).marketBuyOrdersNoThrow.sendTransactionAsync( + orders, + makerAssetFillAmount, + signatures, + txData, + ); + return txHash; }, - }; - /** - * Verifies that a signature for an order is valid. - */ - public isValidOrderSignature = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param order The order. - * @param signature Proof that the order has been signed by signer. - * @returns isValid `true` if the signature is valid for the given order and signer. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Desired amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. + * @returns Amounts filled and fees paid by makers and taker. */ async callAsync( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -6984,12 +6629,21 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - signature: string, + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('signature', signature); + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> { + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -7000,8 +6654,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', - [order, signature], + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -7023,10 +6677,16 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -7034,12 +6694,13 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param order The order. - * @param signature Proof that the order has been signed by signer. + * @param orders Array of order specifications. + * @param makerAssetFillAmount Desired amount of makerAsset to buy. + * @param signatures Proofs that orders have been signed by makers. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - order: { + orders: Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -7054,14 +6715,17 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }, - signature: string, + }>, + makerAssetFillAmount: BigNumber, + signatures: string[], ): string { - assert.isString('signature', signature); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetFillAmount', makerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', - [order, signature], + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, makerAssetFillAmount, signatures], ); return abiEncodedTransactionData; }, @@ -7072,7 +6736,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData( callData: string, - ): { + ): Array<{ makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -7087,42 +6751,58 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - } { + }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): boolean { - const self = (this as any) as ExchangeContract; + const abiDecodedCallData = abiEncoder.strictDecode< + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> + >(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData( + returnData: string, + ): { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + } { + const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>(returnData); return abiDecodedReturnData; }, /** @@ -7131,7 +6811,7 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'isValidOrderSignature((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes)', + 'marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); return abiEncoder.getSelector(); }, @@ -7544,38 +7224,48 @@ export class ExchangeContract extends BaseContract { }, }; /** - * This function may be used to simulate any amount of transfers As they would occur through the Exchange contract. Note that this function will always revert, even if all transfers are successful. However, it may be used with eth_call or with a try/catch pattern in order to simulate the results of the transfers. + * Executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. + * If any fill reverts, the error is caught and ignored. + * NOTE: This function does not enforce that the takerAsset is the same for each order. */ - public simulateDispatchTransferFromCalls = { + public marketSellOrdersNoThrow = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @param fromAddresses Array containing the `from` addresses that correspond - * with each transfer. - * @param toAddresses Array containing the `to` addresses that correspond with - * each transfer. - * @param amounts Array containing the amounts that correspond to each - * transfer. + * @param orders Array of order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signatures Proofs that orders have been signed by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - assetData: string[], - fromAddresses: string[], - toAddresses: string[], - amounts: BigNumber[], + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('assetData', assetData); - assert.isArray('fromAddresses', fromAddresses); - assert.isArray('toAddresses', toAddresses); - assert.isArray('amounts', amounts); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', - [assetData, fromAddresses, toAddresses, amounts], + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -7595,37 +7285,44 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @param fromAddresses Array containing the `from` addresses that correspond - * with each transfer. - * @param toAddresses Array containing the `to` addresses that correspond with - * each transfer. - * @param amounts Array containing the amounts that correspond to each - * transfer. + * @param orders Array of order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signatures Proofs that orders have been signed by makers. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - assetData: string[], - fromAddresses: string[], - toAddresses: string[], - amounts: BigNumber[], + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('assetData', assetData); - assert.isArray('fromAddresses', fromAddresses); - assert.isArray('toAddresses', toAddresses); - assert.isArray('amounts', amounts); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; - const txHashPromise = self.simulateDispatchTransferFromCalls.sendTransactionAsync( - assetData, - fromAddresses, - toAddresses, - amounts, + const txHashPromise = self.marketSellOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmount, + signatures, txData, ); return new PromiseWithTransactionHash( @@ -7642,32 +7339,40 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @param fromAddresses Array containing the `from` addresses that correspond - * with each transfer. - * @param toAddresses Array containing the `to` addresses that correspond with - * each transfer. - * @param amounts Array containing the amounts that correspond to each - * transfer. + * @param orders Array of order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signatures Proofs that orders have been signed by makers. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - assetData: string[], - fromAddresses: string[], - toAddresses: string[], - amounts: BigNumber[], + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], txData?: Partial | undefined, ): Promise { - assert.isArray('assetData', assetData); - assert.isArray('fromAddresses', fromAddresses); - assert.isArray('toAddresses', toAddresses); - assert.isArray('amounts', amounts); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', - [assetData, fromAddresses, toAddresses, amounts], + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -7685,24 +7390,31 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - assetData: string[], - fromAddresses: string[], - toAddresses: string[], - amounts: BigNumber[], + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], txData?: Partial | undefined, ): Promise { - await (this as any).simulateDispatchTransferFromCalls.callAsync( - assetData, - fromAddresses, - toAddresses, - amounts, - txData, - ); - const txHash = await (this as any).simulateDispatchTransferFromCalls.sendTransactionAsync( - assetData, - fromAddresses, - toAddresses, - amounts, + await (this as any).marketSellOrdersNoThrow.callAsync(orders, takerAssetFillAmount, signatures, txData); + const txHash = await (this as any).marketSellOrdersNoThrow.sendTransactionAsync( + orders, + takerAssetFillAmount, + signatures, txData, ); return txHash; @@ -7711,31 +7423,45 @@ export class ExchangeContract extends BaseContract { * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @param fromAddresses Array containing the `from` addresses that correspond - * with each transfer. - * @param toAddresses Array containing the `to` addresses that correspond with - * each transfer. - * @param amounts Array containing the amounts that correspond to each - * transfer. - * @returns This function does not return a value. However, it will always revert with `Error("TRANSFERS_SUCCESSFUL")` if all of the transfers were successful. + * @param orders Array of order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signatures Proofs that orders have been signed by makers. + * @returns Amounts filled and fees paid by makers and taker. */ async callAsync( - assetData: string[], - fromAddresses: string[], - toAddresses: string[], - amounts: BigNumber[], - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isArray('assetData', assetData); - assert.isArray('fromAddresses', fromAddresses); - assert.isArray('toAddresses', toAddresses); - assert.isArray('amounts', amounts); - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }> { + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, schemas.jsNumber, ]); if (defaultBlock !== undefined) { @@ -7743,8 +7469,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', - [assetData, fromAddresses, toAddresses, amounts], + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -7766,10 +7492,16 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -7777,30 +7509,38 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param assetData Array of asset details, each encoded per the AssetProxy - * contract specification. - * @param fromAddresses Array containing the `from` addresses that correspond - * with each transfer. - * @param toAddresses Array containing the `to` addresses that correspond with - * each transfer. - * @param amounts Array containing the amounts that correspond to each - * transfer. + * @param orders Array of order specifications. + * @param takerAssetFillAmount Desired amount of takerAsset to sell. + * @param signatures Proofs that orders have been signed by makers. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - assetData: string[], - fromAddresses: string[], - toAddresses: string[], - amounts: BigNumber[], + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + takerAssetFillAmount: BigNumber, + signatures: string[], ): string { - assert.isArray('assetData', assetData); - assert.isArray('fromAddresses', fromAddresses); - assert.isArray('toAddresses', toAddresses); - assert.isArray('amounts', amounts); + assert.isArray('orders', orders); + assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); + assert.isArray('signatures', signatures); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', - [assetData, fromAddresses, toAddresses, amounts], + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', + [orders, takerAssetFillAmount, signatures], ); return abiEncodedTransactionData; }, @@ -7809,13 +7549,47 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string[], string[], string[], BigNumber[]] { + getABIDecodedTransactionData( + callData: string, + ): Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string[], string[], string[], BigNumber[]]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode< + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }> + >(callData); return abiDecodedCallData; }, /** @@ -7823,13 +7597,27 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData( + returnData: string, + ): { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }>(returnData); return abiDecodedReturnData; }, /** @@ -7838,18 +7626,18 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + 'marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[])', ); return abiEncoder.getSelector(); }, }; /** * Match two complementary orders that have a profitable spread. - * Each order is maximally filled at their respective price point, and - * the matcher receives a profit denominated in either the left maker asset, - * right maker asset, or a combination of both. + * Each order is filled at their respective price point. However, the calculations are + * carried out as though the orders are both being filled at the right order's price point. + * The profit made by the left order goes to the taker (who matched the two orders). */ - public matchOrdersWithMaximalFill = { + public matchOrders = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. @@ -7901,7 +7689,7 @@ export class ExchangeContract extends BaseContract { assert.isString('rightSignature', rightSignature); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', [leftOrder, rightOrder, leftSignature, rightSignature], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -7972,7 +7760,7 @@ export class ExchangeContract extends BaseContract { assert.isString('leftSignature', leftSignature); assert.isString('rightSignature', rightSignature); const self = (this as any) as ExchangeContract; - const txHashPromise = self.matchOrdersWithMaximalFill.sendTransactionAsync( + const txHashPromise = self.matchOrders.sendTransactionAsync( leftOrder, rightOrder, leftSignature, @@ -8041,7 +7829,7 @@ export class ExchangeContract extends BaseContract { assert.isString('rightSignature', rightSignature); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', [leftOrder, rightOrder, leftSignature, rightSignature], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -8096,14 +7884,8 @@ export class ExchangeContract extends BaseContract { rightSignature: string, txData?: Partial | undefined, ): Promise { - await (this as any).matchOrdersWithMaximalFill.callAsync( - leftOrder, - rightOrder, - leftSignature, - rightSignature, - txData, - ); - const txHash = await (this as any).matchOrdersWithMaximalFill.sendTransactionAsync( + await (this as any).matchOrders.callAsync(leftOrder, rightOrder, leftSignature, rightSignature, txData); + const txHash = await (this as any).matchOrders.sendTransactionAsync( leftOrder, rightOrder, leftSignature, @@ -8120,7 +7902,7 @@ export class ExchangeContract extends BaseContract { * @param rightOrder Second order to match. * @param leftSignature Proof that order was created by the left maker. * @param rightSignature Proof that order was created by the right maker. - * @returns matchedFillResults Amounts filled by maker and taker of matched orders. + * @returns matchedFillResults Amounts filled and fees paid by maker and taker of matched orders. */ async callAsync( leftOrder: { @@ -8189,7 +7971,7 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', [leftOrder, rightOrder, leftSignature, rightSignature], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -8212,7 +7994,7 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<{ @@ -8286,7 +8068,7 @@ export class ExchangeContract extends BaseContract { assert.isString('rightSignature', rightSignature); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', [leftOrder, rightOrder, leftSignature, rightSignature], ); return abiEncodedTransactionData; @@ -8316,7 +8098,7 @@ export class ExchangeContract extends BaseContract { } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', ); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<{ @@ -8364,7 +8146,7 @@ export class ExchangeContract extends BaseContract { } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ @@ -8393,27 +8175,30 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + 'matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', ); return abiEncoder.getSelector(); }, }; /** - * Executes multiple calls of fillOrKillOrder. + * Match two complementary orders that have a profitable spread. + * Each order is maximally filled at their respective price point, and + * the matcher receives a profit denominated in either the left maker asset, + * right maker asset, or a combination of both. */ - public batchFillOrKillOrders = { + public matchOrdersWithMaximalFill = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. + * @param leftOrder First order to match. + * @param rightOrder Second order to match. + * @param leftSignature Proof that order was created by the left maker. + * @param rightSignature Proof that order was created by the right maker. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - orders: Array<{ + leftOrder: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -8428,18 +8213,33 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + leftSignature: string, + rightSignature: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], + 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -8459,16 +8259,16 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. + * @param leftOrder First order to match. + * @param rightOrder Second order to match. + * @param leftSignature Proof that order was created by the left maker. + * @param rightSignature Proof that order was created by the right maker. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - orders: Array<{ + leftOrder: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -8483,21 +8283,37 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + leftSignature: string, + rightSignature: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchFillOrKillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, + const txHashPromise = self.matchOrdersWithMaximalFill.sendTransactionAsync( + leftOrder, + rightOrder, + leftSignature, + rightSignature, txData, ); return new PromiseWithTransactionHash( @@ -8514,15 +8330,15 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. + * @param leftOrder First order to match. + * @param rightOrder Second order to match. + * @param leftSignature Proof that order was created by the left maker. + * @param rightSignature Proof that order was created by the right maker. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - orders: Array<{ + leftOrder: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -8537,18 +8353,33 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + leftSignature: string, + rightSignature: string, txData?: Partial | undefined, ): Promise { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], + 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -8566,7 +8397,7 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - orders: Array<{ + leftOrder: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -8581,16 +8412,39 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + leftSignature: string, + rightSignature: string, txData?: Partial | undefined, ): Promise { - await (this as any).batchFillOrKillOrders.callAsync(orders, takerAssetFillAmounts, signatures, txData); - const txHash = await (this as any).batchFillOrKillOrders.sendTransactionAsync( - orders, - takerAssetFillAmounts, - signatures, + await (this as any).matchOrdersWithMaximalFill.callAsync( + leftOrder, + rightOrder, + leftSignature, + rightSignature, + txData, + ); + const txHash = await (this as any).matchOrdersWithMaximalFill.sendTransactionAsync( + leftOrder, + rightOrder, + leftSignature, + rightSignature, txData, ); return txHash; @@ -8599,14 +8453,14 @@ export class ExchangeContract extends BaseContract { * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. - * @returns Array of amounts filled and fees paid by makers and taker. + * @param leftOrder First order to match. + * @param rightOrder Second order to match. + * @param leftSignature Proof that order was created by the left maker. + * @param rightSignature Proof that order was created by the right maker. + * @returns matchedFillResults Amounts filled by maker and taker of matched orders. */ async callAsync( - orders: Array<{ + leftOrder: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -8621,23 +8475,47 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + leftSignature: string, + rightSignature: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise< - Array<{ + ): Promise<{ + left: { makerAssetFilledAmount: BigNumber; takerAssetFilledAmount: BigNumber; makerFeePaid: BigNumber; takerFeePaid: BigNumber; protocolFeePaid: BigNumber; - }> - > { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }; + profitInLeftMakerAsset: BigNumber; + profitInRightMakerAsset: BigNumber; + }> { + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -8648,8 +8526,8 @@ export class ExchangeContract extends BaseContract { } const self = (this as any) as ExchangeContract; const encodedData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], + 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -8671,18 +8549,27 @@ export class ExchangeContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue< - Array<{ + const result = abiEncoder.strictDecodeReturnValue<{ + left: { makerAssetFilledAmount: BigNumber; takerAssetFilledAmount: BigNumber; makerFeePaid: BigNumber; takerFeePaid: BigNumber; protocolFeePaid: BigNumber; - }> - >(rawCallResult); + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }; + profitInLeftMakerAsset: BigNumber; + profitInRightMakerAsset: BigNumber; + }>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -8690,14 +8577,14 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param orders Array of order specifications. - * @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell - * in orders. - * @param signatures Proofs that orders have been created by makers. + * @param leftOrder First order to match. + * @param rightOrder Second order to match. + * @param leftSignature Proof that order was created by the left maker. + * @param rightSignature Proof that order was created by the right maker. * @returns The ABI encoded transaction data as a string */ getABIEncodedTransactionData( - orders: Array<{ + leftOrder: { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -8712,17 +8599,32 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }>, - takerAssetFillAmounts: BigNumber[], - signatures: string[], + }, + rightOrder: { + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }, + leftSignature: string, + rightSignature: string, ): string { - assert.isArray('orders', orders); - assert.isArray('takerAssetFillAmounts', takerAssetFillAmounts); - assert.isArray('signatures', signatures); + assert.isString('leftSignature', leftSignature); + assert.isString('rightSignature', rightSignature); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', - [orders, takerAssetFillAmounts, signatures], + 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', + [leftOrder, rightOrder, leftSignature, rightSignature], ); return abiEncodedTransactionData; }, @@ -8733,7 +8635,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData( callData: string, - ): Array<{ + ): { makerAddress: string; takerAddress: string; feeRecipientAddress: string; @@ -8748,30 +8650,28 @@ export class ExchangeContract extends BaseContract { takerAssetData: string; makerFeeAssetData: string; takerFeeAssetData: string; - }> { + } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>(callData); return abiDecodedCallData; }, /** @@ -8781,27 +8681,47 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData( returnData: string, - ): Array<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { + ): { + left: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }; + profitInLeftMakerAsset: BigNumber; + profitInRightMakerAsset: BigNumber; + } { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue< - Array<{ + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ + left: { makerAssetFilledAmount: BigNumber; takerAssetFilledAmount: BigNumber; makerFeePaid: BigNumber; takerFeePaid: BigNumber; protocolFeePaid: BigNumber; - }> - >(returnData); + }; + right: { + makerAssetFilledAmount: BigNumber; + takerAssetFilledAmount: BigNumber; + makerFeePaid: BigNumber; + takerFeePaid: BigNumber; + protocolFeePaid: BigNumber; + }; + profitInLeftMakerAsset: BigNumber; + profitInRightMakerAsset: BigNumber; + }>(returnData); return abiDecodedReturnData; }, /** @@ -8810,135 +8730,25 @@ export class ExchangeContract extends BaseContract { getSelector(): string { const self = (this as any) as ExchangeContract; const abiEncoder = self._lookupAbiEncoder( - 'batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256[],bytes[])', + 'matchOrdersWithMaximalFill((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),bytes,bytes)', ); return abiEncoder.getSelector(); }, }; - /** - * Allows the owner to update the protocolFeeCollector address. - */ - public setProtocolFeeCollectorAddress = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract - * address. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync( - updatedProtocolFeeCollector: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setProtocolFeeCollectorAddress(address)', [ - updatedProtocolFeeCollector.toLowerCase(), - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract - * address. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful - */ - awaitTransactionSuccessAsync( - updatedProtocolFeeCollector: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.setProtocolFeeCollectorAddress.sendTransactionAsync( - updatedProtocolFeeCollector.toLowerCase(), - txData, - ); - return new PromiseWithTransactionHash( - txHashPromise, - (async (): Promise => { - // When the transaction hash resolves, wait for it to be mined. - return self._web3Wrapper.awaitTransactionSuccessAsync( - await txHashPromise, - pollingIntervalMs, - timeoutMs, - ); - })(), - ); - }, - /** - * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract - * address. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async estimateGasAsync( - updatedProtocolFeeCollector: string, - txData?: Partial | undefined, - ): Promise { - assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setProtocolFeeCollectorAddress(address)', [ - updatedProtocolFeeCollector.toLowerCase(), - ]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), - ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); - return gas; - }, - async validateAndSendTransactionAsync( - updatedProtocolFeeCollector: string, - txData?: Partial | undefined, - ): Promise { - await (this as any).setProtocolFeeCollectorAddress.callAsync(updatedProtocolFeeCollector, txData); - const txHash = await (this as any).setProtocolFeeCollectorAddress.sendTransactionAsync( - updatedProtocolFeeCollector, - txData, - ); - return txHash; - }, + public orderEpoch = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract - * address. */ async callAsync( - updatedProtocolFeeCollector: string, + index_0: string, + index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); + ): Promise { + assert.isString('index_0', index_0); + assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -8948,8 +8758,9 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('setProtocolFeeCollectorAddress(address)', [ - updatedProtocolFeeCollector.toLowerCase(), + const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -8970,9 +8781,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('setProtocolFeeCollectorAddress(address)'); + const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -8980,15 +8791,15 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract - * address. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(updatedProtocolFeeCollector: string): string { - assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); + getABIEncodedTransactionData(index_0: string, index_1: string): string { + assert.isString('index_0', index_0); + assert.isString('index_1', index_1); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('setProtocolFeeCollectorAddress(address)', [ - updatedProtocolFeeCollector.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [ + index_0.toLowerCase(), + index_1.toLowerCase(), ]); return abiEncodedTransactionData; }, @@ -8997,11 +8808,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setProtocolFeeCollectorAddress(address)'); + const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; }, /** @@ -9009,11 +8820,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): void { + getABIDecodedReturnData(returnData: string): BigNumber { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setProtocolFeeCollectorAddress(address)'); + const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -9021,11 +8832,11 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('setProtocolFeeCollectorAddress(address)'); + const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); return abiEncoder.getSelector(); }, }; - public EIP712_EXCHANGE_DOMAIN_HASH = { + public owner = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9041,7 +8852,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); + const encodedData = self._strictEncodeArguments('owner()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9061,7 +8872,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -9075,7 +8886,7 @@ export class ExchangeContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('EIP712_EXCHANGE_DOMAIN_HASH()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, /** @@ -9085,7 +8896,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -9097,7 +8908,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); + const abiEncoder = self._lookupAbiEncoder('owner()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -9107,26 +8918,26 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('EIP712_EXCHANGE_DOMAIN_HASH()'); + const abiEncoder = self._lookupAbiEncoder('owner()'); return abiEncoder.getSelector(); }, }; /** - * Registers an asset proxy to its asset proxy id. - * Once an asset proxy is registered, it cannot be unregistered. + * Approves a hash on-chain. + * After presigning a hash, the preSign signature type will become valid for that hash and signer. */ - public registerAssetProxy = { + public preSign = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param assetProxy Address of new asset proxy to register. + * @param hash Any 32-byte hash. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); + async sendTransactionAsync(hash: string, txData?: Partial | undefined): Promise { + assert.isString('hash', hash); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9145,20 +8956,20 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param assetProxy Address of new asset proxy to register. + * @param hash Any 32-byte hash. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - assetProxy: string, + hash: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetProxy', assetProxy); + assert.isString('hash', hash); const self = (this as any) as ExchangeContract; - const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); + const txHashPromise = self.preSign.sendTransactionAsync(hash, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -9173,14 +8984,14 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param assetProxy Address of new asset proxy to register. + * @param hash Any 32-byte hash. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { - assert.isString('assetProxy', assetProxy); + async estimateGasAsync(hash: string, txData?: Partial | undefined): Promise { + assert.isString('hash', hash); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9196,26 +9007,19 @@ export class ExchangeContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync( - assetProxy: string, - txData?: Partial | undefined, - ): Promise { - await (this as any).registerAssetProxy.callAsync(assetProxy, txData); - const txHash = await (this as any).registerAssetProxy.sendTransactionAsync(assetProxy, txData); + async validateAndSendTransactionAsync(hash: string, txData?: Partial | undefined): Promise { + await (this as any).preSign.callAsync(hash, txData); + const txHash = await (this as any).preSign.sendTransactionAsync(hash, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param assetProxy Address of new asset proxy to register. + * @param hash Any 32-byte hash. */ - async callAsync( - assetProxy: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise { - assert.isString('assetProxy', assetProxy); + async callAsync(hash: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.isString('hash', hash); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -9225,7 +9029,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); + const encodedData = self._strictEncodeArguments('preSign(bytes32)', [hash]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9245,7 +9049,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); + const abiEncoder = self._lookupAbiEncoder('preSign(bytes32)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -9255,15 +9059,13 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param assetProxy Address of new asset proxy to register. + * @param hash Any 32-byte hash. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(assetProxy: string): string { - assert.isString('assetProxy', assetProxy); + getABIEncodedTransactionData(hash: string): string { + assert.isString('hash', hash); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ - assetProxy.toLowerCase(), - ]); + const abiEncodedTransactionData = self._strictEncodeArguments('preSign(bytes32)', [hash]); return abiEncodedTransactionData; }, /** @@ -9273,7 +9075,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); + const abiEncoder = self._lookupAbiEncoder('preSign(bytes32)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; @@ -9285,7 +9087,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); + const abiEncoder = self._lookupAbiEncoder('preSign(bytes32)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -9295,11 +9097,11 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); + const abiEncoder = self._lookupAbiEncoder('preSign(bytes32)'); return abiEncoder.getSelector(); }, }; - public orderEpoch = { + public preSigned = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9310,7 +9112,7 @@ export class ExchangeContract extends BaseContract { index_1: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { + ): Promise { assert.isString('index_0', index_0); assert.isString('index_1', index_1); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ @@ -9322,8 +9124,8 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('orderEpoch(address,address)', [ - index_0.toLowerCase(), + const encodedData = self._strictEncodeArguments('preSigned(bytes32,address)', [ + index_0, index_1.toLowerCase(), ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( @@ -9345,9 +9147,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); + const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -9361,8 +9163,8 @@ export class ExchangeContract extends BaseContract { assert.isString('index_0', index_0); assert.isString('index_1', index_1); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('orderEpoch(address,address)', [ - index_0.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('preSigned(bytes32,address)', [ + index_0, index_1.toLowerCase(), ]); return abiEncodedTransactionData; @@ -9374,7 +9176,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); + const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -9384,11 +9186,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): BigNumber { + getABIDecodedReturnData(returnData: string): boolean { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); + const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -9396,11 +9198,11 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('orderEpoch(address,address)'); + const abiEncoder = self._lookupAbiEncoder('preSigned(bytes32,address)'); return abiEncoder.getSelector(); }, }; - public EIP1271_MAGIC_VALUE = { + public protocolFeeCollector = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas @@ -9416,7 +9218,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('EIP1271_MAGIC_VALUE()', []); + const encodedData = self._strictEncodeArguments('protocolFeeCollector()', []); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9436,7 +9238,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); + const abiEncoder = self._lookupAbiEncoder('protocolFeeCollector()'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -9450,7 +9252,7 @@ export class ExchangeContract extends BaseContract { */ getABIEncodedTransactionData(): string { const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('EIP1271_MAGIC_VALUE()', []); + const abiEncodedTransactionData = self._strictEncodeArguments('protocolFeeCollector()', []); return abiEncodedTransactionData; }, /** @@ -9460,7 +9262,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedTransactionData(callData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); + const abiEncoder = self._lookupAbiEncoder('protocolFeeCollector()'); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode(callData); return abiDecodedCallData; @@ -9472,7 +9274,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); + const abiEncoder = self._lookupAbiEncoder('protocolFeeCollector()'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -9482,46 +9284,112 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('EIP1271_MAGIC_VALUE()'); + const abiEncoder = self._lookupAbiEncoder('protocolFeeCollector()'); + return abiEncoder.getSelector(); + }, + }; + public protocolFeeMultiplier = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + */ + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('protocolFeeMultiplier()', []); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('protocolFeeMultiplier()'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(): string { + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('protocolFeeMultiplier()', []); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): void { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('protocolFeeMultiplier()'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): BigNumber { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('protocolFeeMultiplier()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('protocolFeeMultiplier()'); return abiEncoder.getSelector(); }, }; /** - * Executes multiple calls of cancelOrder. + * Registers an asset proxy to its asset proxy id. + * Once an asset proxy is registered, it cannot be unregistered. */ - public batchCancelOrders = { + public registerAssetProxy = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param orders Array of order specifications. + * @param assetProxy Address of new asset proxy to register. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); + async sendTransactionAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - [orders], - ); + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9540,35 +9408,20 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param orders Array of order specifications. + * @param assetProxy Address of new asset proxy to register. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, + assetProxy: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); + assert.isString('assetProxy', assetProxy); const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchCancelOrders.sendTransactionAsync(orders, txData); + const txHashPromise = self.registerAssetProxy.sendTransactionAsync(assetProxy.toLowerCase(), txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -9583,35 +9436,14 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param orders Array of order specifications. + * @param assetProxy Address of new asset proxy to register. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); + async estimateGasAsync(assetProxy: string, txData?: Partial | undefined): Promise { + assert.isString('assetProxy', assetProxy); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - [orders], - ); + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9628,55 +9460,25 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, + assetProxy: string, txData?: Partial | undefined, ): Promise { - await (this as any).batchCancelOrders.callAsync(orders, txData); - const txHash = await (this as any).batchCancelOrders.sendTransactionAsync(orders, txData); + await (this as any).registerAssetProxy.callAsync(assetProxy, txData); + const txHash = await (this as any).registerAssetProxy.sendTransactionAsync(assetProxy, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param orders Array of order specifications. + * @param assetProxy Address of new asset proxy to register. */ async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, + assetProxy: string, callData: Partial = {}, defaultBlock?: BlockParam, ): Promise { - assert.isArray('orders', orders); + assert.isString('assetProxy', assetProxy); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -9686,10 +9488,7 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - [orders], - ); + const encodedData = self._strictEncodeArguments('registerAssetProxy(address)', [assetProxy.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9709,9 +9508,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - ); + const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -9721,33 +9518,15 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param orders Array of order specifications. + * @param assetProxy Address of new asset proxy to register. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - ): string { - assert.isArray('orders', orders); + getABIEncodedTransactionData(assetProxy: string): string { + assert.isString('assetProxy', assetProxy); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - [orders], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('registerAssetProxy(address)', [ + assetProxy.toLowerCase(), + ]); return abiEncodedTransactionData; }, /** @@ -9755,51 +9534,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData( - callData: string, - ): [ - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> - ] { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - ); + const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - [ - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }> - ] - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -9809,9 +9548,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - ); + const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -9821,53 +9558,31 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[])', - ); + const abiEncoder = self._lookupAbiEncoder('registerAssetProxy(address)'); return abiEncoder.getSelector(); }, }; /** - * Fills the input order. Reverts if exact takerAssetFillAmount not filled. + * Allows the owner to update the protocolFeeCollector address. */ - public fillOrKillOrder = { + public setProtocolFeeCollectorAddress = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract + * address. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + updatedProtocolFeeCollector: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const encodedData = self._strictEncodeArguments('setProtocolFeeCollectorAddress(address)', [ + updatedProtocolFeeCollector.toLowerCase(), + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9886,43 +9601,22 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract + * address. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + updatedProtocolFeeCollector: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); const self = (this as any) as ExchangeContract; - const txHashPromise = self.fillOrKillOrder.sendTransactionAsync( - order, - takerAssetFillAmount, - signature, + const txHashPromise = self.setProtocolFeeCollectorAddress.sendTransactionAsync( + updatedProtocolFeeCollector.toLowerCase(), txData, ); return new PromiseWithTransactionHash( @@ -9939,40 +9633,20 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract + * address. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + updatedProtocolFeeCollector: string, txData?: Partial | undefined, ): Promise { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const encodedData = self._strictEncodeArguments('setProtocolFeeCollectorAddress(address)', [ + updatedProtocolFeeCollector.toLowerCase(), + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -9989,31 +9663,12 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + updatedProtocolFeeCollector: string, txData?: Partial | undefined, ): Promise { - await (this as any).fillOrKillOrder.callAsync(order, takerAssetFillAmount, signature, txData); - const txHash = await (this as any).fillOrKillOrder.sendTransactionAsync( - order, - takerAssetFillAmount, - signature, + await (this as any).setProtocolFeeCollectorAddress.callAsync(updatedProtocolFeeCollector, txData); + const txHash = await (this as any).setProtocolFeeCollectorAddress.sendTransactionAsync( + updatedProtocolFeeCollector, txData, ); return txHash; @@ -10022,40 +9677,15 @@ export class ExchangeContract extends BaseContract { * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract + * address. */ async callAsync( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, + updatedProtocolFeeCollector: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }> { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + ): Promise { + assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -10065,10 +9695,9 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const encodedData = self._strictEncodeArguments('setProtocolFeeCollectorAddress(address)', [ + updatedProtocolFeeCollector.toLowerCase(), + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -10088,17 +9717,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeCollectorAddress(address)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -10106,38 +9727,16 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param order Order struct containing order specifications. - * @param takerAssetFillAmount Desired amount of takerAsset to sell. - * @param signature Proof that order has been created by maker. + * @param updatedProtocolFeeCollector The updated protocolFeeCollector contract + * address. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - order: { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }, - takerAssetFillAmount: BigNumber, - signature: string, - ): string { - assert.isBigNumber('takerAssetFillAmount', takerAssetFillAmount); - assert.isString('signature', signature); + getABIEncodedTransactionData(updatedProtocolFeeCollector: string): string { + assert.isString('updatedProtocolFeeCollector', updatedProtocolFeeCollector); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - [order, takerAssetFillAmount, signature], - ); + const abiEncodedTransactionData = self._strictEncodeArguments('setProtocolFeeCollectorAddress(address)', [ + updatedProtocolFeeCollector.toLowerCase(), + ]); return abiEncodedTransactionData; }, /** @@ -10145,45 +9744,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData( - callData: string, - ): { - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - } { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeCollectorAddress(address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -10191,27 +9756,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData( - returnData: string, - ): { - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - } { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeCollectorAddress(address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<{ - makerAssetFilledAmount: BigNumber; - takerAssetFilledAmount: BigNumber; - makerFeePaid: BigNumber; - takerFeePaid: BigNumber; - protocolFeePaid: BigNumber; - }>(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -10219,140 +9768,65 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes),uint256,bytes)', - ); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeCollectorAddress(address)'); return abiEncoder.getSelector(); }, }; - public currentContextAddress = { + /** + * Allows the owner to update the protocol fee multiplier. + */ + public setProtocolFeeMultiplier = { /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. + * @param txData Additional data for transaction + * @returns The hash of the transaction */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + async sendTransactionAsync( + updatedProtocolFeeMultiplier: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('currentContextAddress()', []); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + const encodedData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ + updatedProtocolFeeMultiplier, + ]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, - ...callData, + ...txData, data: encodedData, }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; }, /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful */ - getABIEncodedTransactionData(): string { + awaitTransactionSuccessAsync( + updatedProtocolFeeMultiplier: BigNumber, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('currentContextAddress()', []); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): void { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('currentContextAddress()'); - return abiEncoder.getSelector(); - }, - }; - public transferOwnership = { - /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param txData Additional data for transaction - * @returns The hash of the transaction - */ - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...txData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), + const txHashPromise = self.setProtocolFeeMultiplier.sendTransactionAsync( + updatedProtocolFeeMultiplier, + txData, ); - if (txDataWithDefaults.from !== undefined) { - txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); - } - - const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); - return txHash; - }, - /** - * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. - * If the transaction was mined, but reverted, an error is thrown. - * @param txData Additional data for transaction - * @param pollingIntervalMs Interval at which to poll for success - * @returns A promise that resolves when the transaction is successful - */ - awaitTransactionSuccessAsync( - newOwner: string, - txData?: Partial, - pollingIntervalMs?: number, - timeoutMs?: number, - ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); - const self = (this as any) as ExchangeContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -10367,13 +9841,19 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); + async estimateGasAsync( + updatedProtocolFeeMultiplier: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ + updatedProtocolFeeMultiplier, + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -10389,18 +9869,29 @@ export class ExchangeContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - await (this as any).transferOwnership.callAsync(newOwner, txData); - const txHash = await (this as any).transferOwnership.sendTransactionAsync(newOwner, txData); + async validateAndSendTransactionAsync( + updatedProtocolFeeMultiplier: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).setProtocolFeeMultiplier.callAsync(updatedProtocolFeeMultiplier, txData); + const txHash = await (this as any).setProtocolFeeMultiplier.sendTransactionAsync( + updatedProtocolFeeMultiplier, + txData, + ); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. */ - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.isString('newOwner', newOwner); + async callAsync( + updatedProtocolFeeMultiplier: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -10410,7 +9901,9 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ + updatedProtocolFeeMultiplier, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -10430,7 +9923,7 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -10440,13 +9933,14 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param updatedProtocolFeeMultiplier The updated protocol fee multiplier. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(newOwner: string): string { - assert.isString('newOwner', newOwner); + getABIEncodedTransactionData(updatedProtocolFeeMultiplier: BigNumber): string { + assert.isBigNumber('updatedProtocolFeeMultiplier', updatedProtocolFeeMultiplier); const self = (this as any) as ExchangeContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('setProtocolFeeMultiplier(uint256)', [ + updatedProtocolFeeMultiplier, ]); return abiEncodedTransactionData; }, @@ -10455,11 +9949,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): [BigNumber] { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -10469,7 +9963,7 @@ export class ExchangeContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -10479,41 +9973,35 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + const abiEncoder = self._lookupAbiEncoder('setProtocolFeeMultiplier(uint256)'); return abiEncoder.getSelector(); }, }; /** - * Executes a batch of Exchange method calls in the context of signer(s). + * Approves/unnapproves a Validator contract to verify signatures on signer's behalf + * using the `Validator` signature type. */ - public batchExecuteTransactions = { + public setSignatureValidatorApproval = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param transactions Array of 0x transaction structures. - * @param signatures Array of proofs that transactions have been signed by - * signer(s). + * @param validatorAddress Address of Validator contract. + * @param approval Approval or disapproval of Validator contract. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - transactions: Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>, - signatures: string[], + validatorAddress: string, + approval: boolean, txData?: Partial | undefined, ): Promise { - assert.isArray('transactions', transactions); - assert.isArray('signatures', signatures); + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - [transactions, signatures], - ); + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + validatorAddress.toLowerCase(), + approval, + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -10532,30 +10020,27 @@ export class ExchangeContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param transactions Array of 0x transaction structures. - * @param signatures Array of proofs that transactions have been signed by - * signer(s). + * @param validatorAddress Address of Validator contract. + * @param approval Approval or disapproval of Validator contract. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - transactions: Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>, - signatures: string[], + validatorAddress: string, + approval: boolean, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('transactions', transactions); - assert.isArray('signatures', signatures); + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); const self = (this as any) as ExchangeContract; - const txHashPromise = self.batchExecuteTransactions.sendTransactionAsync(transactions, signatures, txData); + const txHashPromise = self.setSignatureValidatorApproval.sendTransactionAsync( + validatorAddress.toLowerCase(), + approval, + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -10570,30 +10055,23 @@ export class ExchangeContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param transactions Array of 0x transaction structures. - * @param signatures Array of proofs that transactions have been signed by - * signer(s). + * @param validatorAddress Address of Validator contract. + * @param approval Approval or disapproval of Validator contract. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - transactions: Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>, - signatures: string[], + validatorAddress: string, + approval: boolean, txData?: Partial | undefined, ): Promise { - assert.isArray('transactions', transactions); - assert.isArray('signatures', signatures); + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - [transactions, signatures], - ); + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + validatorAddress.toLowerCase(), + approval, + ]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -10610,20 +10088,14 @@ export class ExchangeContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - transactions: Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>, - signatures: string[], + validatorAddress: string, + approval: boolean, txData?: Partial | undefined, ): Promise { - await (this as any).batchExecuteTransactions.callAsync(transactions, signatures, txData); - const txHash = await (this as any).batchExecuteTransactions.sendTransactionAsync( - transactions, - signatures, + await (this as any).setSignatureValidatorApproval.callAsync(validatorAddress, approval, txData); + const txHash = await (this as any).setSignatureValidatorApproval.sendTransactionAsync( + validatorAddress, + approval, txData, ); return txHash; @@ -10632,25 +10104,17 @@ export class ExchangeContract extends BaseContract { * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param transactions Array of 0x transaction structures. - * @param signatures Array of proofs that transactions have been signed by - * signer(s). - * @returns Array containing ABI encoded return data for each of the underlying Exchange function calls. + * @param validatorAddress Address of Validator contract. + * @param approval Approval or disapproval of Validator contract. */ async callAsync( - transactions: Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>, - signatures: string[], + validatorAddress: string, + approval: boolean, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isArray('transactions', transactions); - assert.isArray('signatures', signatures); + ): Promise { + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -10660,10 +10124,10 @@ export class ExchangeContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ExchangeContract; - const encodedData = self._strictEncodeArguments( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - [transactions, signatures], - ); + const encodedData = self._strictEncodeArguments('setSignatureValidatorApproval(address,bool)', [ + validatorAddress.toLowerCase(), + approval, + ]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -10683,11 +10147,9 @@ export class ExchangeContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -10695,27 +10157,17 @@ export class ExchangeContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param transactions Array of 0x transaction structures. - * @param signatures Array of proofs that transactions have been signed by - * signer(s). + * @param validatorAddress Address of Validator contract. + * @param approval Approval or disapproval of Validator contract. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData( - transactions: Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }>, - signatures: string[], - ): string { - assert.isArray('transactions', transactions); - assert.isArray('signatures', signatures); + getABIEncodedTransactionData(validatorAddress: string, approval: boolean): string { + assert.isString('validatorAddress', validatorAddress); + assert.isBoolean('approval', approval); const self = (this as any) as ExchangeContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - [transactions, signatures], + 'setSignatureValidatorApproval(address,bool)', + [validatorAddress.toLowerCase(), approval], ); return abiEncodedTransactionData; }, @@ -10724,29 +10176,11 @@ export class ExchangeContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData( - callData: string, - ): Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }> { + getABIDecodedTransactionData(callData: string): [string, boolean] { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - Array<{ - salt: BigNumber; - expirationTimeSeconds: BigNumber; - gasPrice: BigNumber; - signerAddress: string; - data: string; - }> - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, boolean]>(callData); return abiDecodedCallData; }, /** @@ -10754,13 +10188,11 @@ export class ExchangeContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string[] { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -10768,97 +10200,932 @@ export class ExchangeContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ExchangeContract; - const abiEncoder = self._lookupAbiEncoder( - 'batchExecuteTransactions((uint256,uint256,uint256,address,bytes)[],bytes[])', - ); + const abiEncoder = self._lookupAbiEncoder('setSignatureValidatorApproval(address,bool)'); return abiEncoder.getSelector(); }, }; - private readonly _subscriptionManager: SubscriptionManager; - public static async deployFrom0xArtifactAsync( - artifact: ContractArtifact | SimpleContractArtifact, - supportedProvider: SupportedProvider, - txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, - chainId: BigNumber, - ): Promise { - assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (artifact.compilerOutput === undefined) { - throw new Error('Compiler output not found in the artifact file'); - } - const provider = providerUtils.standardizeOrThrow(supportedProvider); - const bytecode = artifact.compilerOutput.evm.bytecode.object; - const abi = artifact.compilerOutput.abi; - const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; - if (Object.keys(logDecodeDependencies) !== undefined) { - for (const key of Object.keys(logDecodeDependencies)) { - logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; - } - } - return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, chainId); - } - public static async deployAsync( - bytecode: string, - abi: ContractAbi, - supportedProvider: SupportedProvider, - txDefaults: Partial, - logDecodeDependencies: { [contractName: string]: ContractAbi }, - chainId: BigNumber, - ): Promise { - assert.isHexString('bytecode', bytecode); - assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - const provider = providerUtils.standardizeOrThrow(supportedProvider); - const constructorAbi = BaseContract._lookupConstructorAbi(abi); - [chainId] = BaseContract._formatABIDataItemList( - constructorAbi.inputs, - [chainId], - BaseContract._bigNumberToString, - ); - const iface = new ethers.utils.Interface(abi); - const deployInfo = iface.deployFunction; - const txData = deployInfo.encode(bytecode, [chainId]); - const web3Wrapper = new Web3Wrapper(provider); - const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { data: txData }, - txDefaults, - web3Wrapper.estimateGasAsync.bind(web3Wrapper), - ); - const txHash = await web3Wrapper.sendTransactionAsync(txDataWithDefaults); - logUtils.log(`transactionHash: ${txHash}`); - const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); - logUtils.log(`Exchange successfully deployed at ${txReceipt.contractAddress}`); - const contractInstance = new ExchangeContract( - txReceipt.contractAddress as string, - provider, - txDefaults, - logDecodeDependencies, - ); - contractInstance.constructorArgs = [chainId]; - return contractInstance; - } - /** - * @returns The contract ABI + * This function may be used to simulate any amount of transfers As they would occur through the Exchange contract. Note that this function will always revert, even if all transfers are successful. However, it may be used with eth_call or with a try/catch pattern in order to simulate the results of the transfers. */ - public static ABI(): ContractAbi { - const abi = [ + public simulateDispatchTransferFromCalls = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. + * @param fromAddresses Array containing the `from` addresses that correspond + * with each transfer. + * @param toAddresses Array containing the `to` addresses that correspond with + * each transfer. + * @param amounts Array containing the amounts that correspond to each + * transfer. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync( + assetData: string[], + fromAddresses: string[], + toAddresses: string[], + amounts: BigNumber[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('assetData', assetData); + assert.isArray('fromAddresses', fromAddresses); + assert.isArray('toAddresses', toAddresses); + assert.isArray('amounts', amounts); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + [assetData, fromAddresses, toAddresses, amounts], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + /** + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. + * @param fromAddresses Array containing the `from` addresses that correspond + * with each transfer. + * @param toAddresses Array containing the `to` addresses that correspond with + * each transfer. + * @param amounts Array containing the amounts that correspond to each + * transfer. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful + */ + awaitTransactionSuccessAsync( + assetData: string[], + fromAddresses: string[], + toAddresses: string[], + amounts: BigNumber[], + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isArray('assetData', assetData); + assert.isArray('fromAddresses', fromAddresses); + assert.isArray('toAddresses', toAddresses); + assert.isArray('amounts', amounts); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.simulateDispatchTransferFromCalls.sendTransactionAsync( + assetData, + fromAddresses, + toAddresses, + amounts, + txData, + ); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + /** + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. + * @param fromAddresses Array containing the `from` addresses that correspond + * with each transfer. + * @param toAddresses Array containing the `to` addresses that correspond with + * each transfer. + * @param amounts Array containing the amounts that correspond to each + * transfer. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync( + assetData: string[], + fromAddresses: string[], + toAddresses: string[], + amounts: BigNumber[], + txData?: Partial | undefined, + ): Promise { + assert.isArray('assetData', assetData); + assert.isArray('fromAddresses', fromAddresses); + assert.isArray('toAddresses', toAddresses); + assert.isArray('amounts', amounts); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + [assetData, fromAddresses, toAddresses, amounts], + ); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync( + assetData: string[], + fromAddresses: string[], + toAddresses: string[], + amounts: BigNumber[], + txData?: Partial | undefined, + ): Promise { + await (this as any).simulateDispatchTransferFromCalls.callAsync( + assetData, + fromAddresses, + toAddresses, + amounts, + txData, + ); + const txHash = await (this as any).simulateDispatchTransferFromCalls.sendTransactionAsync( + assetData, + fromAddresses, + toAddresses, + amounts, + txData, + ); + return txHash; + }, + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. + * @param fromAddresses Array containing the `from` addresses that correspond + * with each transfer. + * @param toAddresses Array containing the `to` addresses that correspond with + * each transfer. + * @param amounts Array containing the amounts that correspond to each + * transfer. + * @returns This function does not return a value. However, it will always revert with `Error("TRANSFERS_SUCCESSFUL")` if all of the transfers were successful. + */ + async callAsync( + assetData: string[], + fromAddresses: string[], + toAddresses: string[], + amounts: BigNumber[], + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isArray('assetData', assetData); + assert.isArray('fromAddresses', fromAddresses); + assert.isArray('toAddresses', toAddresses); + assert.isArray('amounts', amounts); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments( + 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + [assetData, fromAddresses, toAddresses, amounts], + ); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder( + 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + ); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @param assetData Array of asset details, each encoded per the AssetProxy + * contract specification. + * @param fromAddresses Array containing the `from` addresses that correspond + * with each transfer. + * @param toAddresses Array containing the `to` addresses that correspond with + * each transfer. + * @param amounts Array containing the amounts that correspond to each + * transfer. + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData( + assetData: string[], + fromAddresses: string[], + toAddresses: string[], + amounts: BigNumber[], + ): string { + assert.isArray('assetData', assetData); + assert.isArray('fromAddresses', fromAddresses); + assert.isArray('toAddresses', toAddresses); + assert.isArray('amounts', amounts); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments( + 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + [assetData, fromAddresses, toAddresses, amounts], + ); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): [string[], string[], string[], BigNumber[]] { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + ); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode<[string[], string[], string[], BigNumber[]]>(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): void { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + ); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder( + 'simulateDispatchTransferFromCalls(bytes[],address[],address[],uint256[])', + ); + return abiEncoder.getSelector(); + }, + }; + public transactionsExecuted = { + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + */ + async callAsync( + index_0: string, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('index_0', index_0); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transactionsExecuted(bytes32)', [index_0]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('transactionsExecuted(bytes32)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(index_0: string): string { + assert.isString('index_0', index_0); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transactionsExecuted(bytes32)', [index_0]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('transactionsExecuted(bytes32)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): boolean { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('transactionsExecuted(bytes32)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('transactionsExecuted(bytes32)'); + return abiEncoder.getSelector(); + }, + }; + public transferOwnership = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const txHash = await self._web3Wrapper.sendTransactionAsync(txDataWithDefaults); + return txHash; + }, + /** + * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. + * If the transaction was mined, but reverted, an error is thrown. + * @param txData Additional data for transaction + * @param pollingIntervalMs Interval at which to poll for success + * @returns A promise that resolves when the transaction is successful + */ + awaitTransactionSuccessAsync( + newOwner: string, + txData?: Partial, + pollingIntervalMs?: number, + timeoutMs?: number, + ): PromiseWithTransactionHash { + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + return new PromiseWithTransactionHash( + txHashPromise, + (async (): Promise => { + // When the transaction hash resolves, wait for it to be mined. + return self._web3Wrapper.awaitTransactionSuccessAsync( + await txHashPromise, + pollingIntervalMs, + timeoutMs, + ); + })(), + ); + }, + /** + * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...txData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + if (txDataWithDefaults.from !== undefined) { + txDataWithDefaults.from = txDataWithDefaults.from.toLowerCase(); + } + + const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); + return gas; + }, + async validateAndSendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + await (this as any).transferOwnership.callAsync(newOwner, txData); + const txHash = await (this as any).transferOwnership.sendTransactionAsync(newOwner, txData); + return txHash; + }, + /** + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. + */ + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.isString('newOwner', newOwner); + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } + const self = (this as any) as ExchangeContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), + ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(newOwner: string): string { + assert.isString('newOwner', newOwner); + const self = (this as any) as ExchangeContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): [string] { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): void { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ExchangeContract; + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + return abiEncoder.getSelector(); + }, + }; + private readonly _subscriptionManager: SubscriptionManager; + public static async deployFrom0xArtifactAsync( + artifact: ContractArtifact | SimpleContractArtifact, + supportedProvider: SupportedProvider, + txDefaults: Partial, + logDecodeDependencies: { [contractName: string]: ContractArtifact | SimpleContractArtifact }, + chainId: BigNumber, + ): Promise { + assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (artifact.compilerOutput === undefined) { + throw new Error('Compiler output not found in the artifact file'); + } + const provider = providerUtils.standardizeOrThrow(supportedProvider); + const bytecode = artifact.compilerOutput.evm.bytecode.object; + const abi = artifact.compilerOutput.abi; + const logDecodeDependenciesAbiOnly: { [contractName: string]: ContractAbi } = {}; + if (Object.keys(logDecodeDependencies) !== undefined) { + for (const key of Object.keys(logDecodeDependencies)) { + logDecodeDependenciesAbiOnly[key] = logDecodeDependencies[key].compilerOutput.abi; + } + } + return ExchangeContract.deployAsync(bytecode, abi, provider, txDefaults, logDecodeDependenciesAbiOnly, chainId); + } + public static async deployAsync( + bytecode: string, + abi: ContractAbi, + supportedProvider: SupportedProvider, + txDefaults: Partial, + logDecodeDependencies: { [contractName: string]: ContractAbi }, + chainId: BigNumber, + ): Promise { + assert.isHexString('bytecode', bytecode); + assert.doesConformToSchema('txDefaults', txDefaults, schemas.txDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + const provider = providerUtils.standardizeOrThrow(supportedProvider); + const constructorAbi = BaseContract._lookupConstructorAbi(abi); + [chainId] = BaseContract._formatABIDataItemList( + constructorAbi.inputs, + [chainId], + BaseContract._bigNumberToString, + ); + const iface = new ethers.utils.Interface(abi); + const deployInfo = iface.deployFunction; + const txData = deployInfo.encode(bytecode, [chainId]); + const web3Wrapper = new Web3Wrapper(provider); + const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { data: txData }, + txDefaults, + web3Wrapper.estimateGasAsync.bind(web3Wrapper), + ); + const txHash = await web3Wrapper.sendTransactionAsync(txDataWithDefaults); + logUtils.log(`transactionHash: ${txHash}`); + const txReceipt = await web3Wrapper.awaitTransactionSuccessAsync(txHash); + logUtils.log(`Exchange successfully deployed at ${txReceipt.contractAddress}`); + const contractInstance = new ExchangeContract( + txReceipt.contractAddress as string, + provider, + txDefaults, + logDecodeDependencies, + ); + contractInstance.constructorArgs = [chainId]; + return contractInstance; + } + + /** + * @returns The contract ABI + */ + public static ABI(): ContractAbi { + const abi = [ + { + inputs: [ + { + name: 'chainId', + type: 'uint256', + }, + ], + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + anonymous: false, + inputs: [ + { + name: 'id', + type: 'bytes4', + indexed: false, + }, + { + name: 'assetProxy', + type: 'address', + indexed: false, + }, + ], + name: 'AssetProxyRegistered', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'makerAddress', + type: 'address', + indexed: true, + }, + { + name: 'feeRecipientAddress', + type: 'address', + indexed: true, + }, + { + name: 'makerAssetData', + type: 'bytes', + indexed: false, + }, + { + name: 'takerAssetData', + type: 'bytes', + indexed: false, + }, + { + name: 'senderAddress', + type: 'address', + indexed: false, + }, + { + name: 'orderHash', + type: 'bytes32', + indexed: true, + }, + ], + name: 'Cancel', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'makerAddress', + type: 'address', + indexed: true, + }, + { + name: 'orderSenderAddress', + type: 'address', + indexed: true, + }, + { + name: 'orderEpoch', + type: 'uint256', + indexed: false, + }, + ], + name: 'CancelUpTo', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'makerAddress', + type: 'address', + indexed: true, + }, + { + name: 'feeRecipientAddress', + type: 'address', + indexed: true, + }, + { + name: 'makerAssetData', + type: 'bytes', + indexed: false, + }, + { + name: 'takerAssetData', + type: 'bytes', + indexed: false, + }, + { + name: 'makerFeeAssetData', + type: 'bytes', + indexed: false, + }, + { + name: 'takerFeeAssetData', + type: 'bytes', + indexed: false, + }, + { + name: 'orderHash', + type: 'bytes32', + indexed: true, + }, + { + name: 'takerAddress', + type: 'address', + indexed: false, + }, + { + name: 'senderAddress', + type: 'address', + indexed: false, + }, + { + name: 'makerAssetFilledAmount', + type: 'uint256', + indexed: false, + }, + { + name: 'takerAssetFilledAmount', + type: 'uint256', + indexed: false, + }, + { + name: 'makerFeePaid', + type: 'uint256', + indexed: false, + }, + { + name: 'takerFeePaid', + type: 'uint256', + indexed: false, + }, + { + name: 'protocolFeePaid', + type: 'uint256', + indexed: false, + }, + ], + name: 'Fill', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'oldProtocolFeeCollector', + type: 'address', + indexed: false, + }, + { + name: 'updatedProtocolFeeCollector', + type: 'address', + indexed: false, + }, + ], + name: 'ProtocolFeeCollectorAddress', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'oldProtocolFeeMultiplier', + type: 'uint256', + indexed: false, + }, + { + name: 'updatedProtocolFeeMultiplier', + type: 'uint256', + indexed: false, + }, + ], + name: 'ProtocolFeeMultiplier', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'signerAddress', + type: 'address', + indexed: true, + }, + { + name: 'validatorAddress', + type: 'address', + indexed: true, + }, + { + name: 'isApproved', + type: 'bool', + indexed: false, + }, + ], + name: 'SignatureValidatorApproval', + outputs: [], + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + name: 'transactionHash', + type: 'bytes32', + indexed: true, + }, + ], + name: 'TransactionExecution', + outputs: [], + type: 'event', + }, + { + constant: true, + inputs: [], + name: 'EIP1271_MAGIC_VALUE', + outputs: [ + { + name: '', + type: 'bytes4', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'EIP712_EXCHANGE_DOMAIN_HASH', + outputs: [ + { + name: '', + type: 'bytes32', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, { constant: true, inputs: [ { name: 'index_0', - type: 'bytes32', + type: 'address', + }, + { + name: 'index_1', + type: 'address', }, ], - name: 'transactionsExecuted', + name: 'allowedValidators', outputs: [ { name: '', @@ -10870,25 +11137,83 @@ export class ExchangeContract extends BaseContract { type: 'function', }, { - constant: true, - inputs: [], - name: 'protocolFeeMultiplier', - outputs: [ + constant: false, + inputs: [ { - name: '', - type: 'uint256', + name: 'orders', + type: 'tuple[]', + components: [ + { + name: 'makerAddress', + type: 'address', + }, + { + name: 'takerAddress', + type: 'address', + }, + { + name: 'feeRecipientAddress', + type: 'address', + }, + { + name: 'senderAddress', + type: 'address', + }, + { + name: 'makerAssetAmount', + type: 'uint256', + }, + { + name: 'takerAssetAmount', + type: 'uint256', + }, + { + name: 'makerFee', + type: 'uint256', + }, + { + name: 'takerFee', + type: 'uint256', + }, + { + name: 'expirationTimeSeconds', + type: 'uint256', + }, + { + name: 'salt', + type: 'uint256', + }, + { + name: 'makerAssetData', + type: 'bytes', + }, + { + name: 'takerAssetData', + type: 'bytes', + }, + { + name: 'makerFeeAssetData', + type: 'bytes', + }, + { + name: 'takerFeeAssetData', + type: 'bytes', + }, + ], }, ], - payable: false, - stateMutability: 'view', + name: 'batchCancelOrders', + outputs: [], + payable: true, + stateMutability: 'payable', type: 'function', }, { constant: false, inputs: [ { - name: 'transaction', - type: 'tuple', + name: 'transactions', + type: 'tuple[]', components: [ { name: 'salt', @@ -10913,15 +11238,15 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'signature', - type: 'bytes', + name: 'signatures', + type: 'bytes[]', }, ], - name: 'executeTransaction', + name: 'batchExecuteTransactions', outputs: [ { name: '', - type: 'bytes', + type: 'bytes[]', }, ], payable: true, @@ -10929,49 +11254,118 @@ export class ExchangeContract extends BaseContract { type: 'function', }, { - constant: true, + constant: false, inputs: [ { - name: 'index_0', - type: 'bytes32', + name: 'orders', + type: 'tuple[]', + components: [ + { + name: 'makerAddress', + type: 'address', + }, + { + name: 'takerAddress', + type: 'address', + }, + { + name: 'feeRecipientAddress', + type: 'address', + }, + { + name: 'senderAddress', + type: 'address', + }, + { + name: 'makerAssetAmount', + type: 'uint256', + }, + { + name: 'takerAssetAmount', + type: 'uint256', + }, + { + name: 'makerFee', + type: 'uint256', + }, + { + name: 'takerFee', + type: 'uint256', + }, + { + name: 'expirationTimeSeconds', + type: 'uint256', + }, + { + name: 'salt', + type: 'uint256', + }, + { + name: 'makerAssetData', + type: 'bytes', + }, + { + name: 'takerAssetData', + type: 'bytes', + }, + { + name: 'makerFeeAssetData', + type: 'bytes', + }, + { + name: 'takerFeeAssetData', + type: 'bytes', + }, + ], }, - ], - name: 'filled', - outputs: [ { - name: '', - type: 'uint256', + name: 'takerAssetFillAmounts', + type: 'uint256[]', }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ { - name: 'index_0', - type: 'bytes32', + name: 'signatures', + type: 'bytes[]', }, ], - name: 'cancelled', + name: 'batchFillOrKillOrders', outputs: [ { - name: '', - type: 'bool', + name: 'fillResults', + type: 'tuple[]', + components: [ + { + name: 'makerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'takerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'makerFeePaid', + type: 'uint256', + }, + { + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', + type: 'uint256', + }, + ], }, ], - payable: false, - stateMutability: 'view', + payable: true, + stateMutability: 'payable', type: 'function', }, { constant: false, inputs: [ { - name: 'order', - type: 'tuple', + name: 'orders', + type: 'tuple[]', components: [ { name: 'makerAddress', @@ -11026,14 +11420,49 @@ export class ExchangeContract extends BaseContract { type: 'bytes', }, { - name: 'takerFeeAssetData', - type: 'bytes', + name: 'takerFeeAssetData', + type: 'bytes', + }, + ], + }, + { + name: 'takerAssetFillAmounts', + type: 'uint256[]', + }, + { + name: 'signatures', + type: 'bytes[]', + }, + ], + name: 'batchFillOrders', + outputs: [ + { + name: 'fillResults', + type: 'tuple[]', + components: [ + { + name: 'makerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'takerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'makerFeePaid', + type: 'uint256', + }, + { + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', + type: 'uint256', }, ], }, ], - name: 'cancelOrder', - outputs: [], payable: true, stateMutability: 'payable', type: 'function', @@ -11104,19 +11533,19 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'takerAssetFillAmount', - type: 'uint256', + name: 'takerAssetFillAmounts', + type: 'uint256[]', }, { name: 'signatures', type: 'bytes[]', }, ], - name: 'marketSellOrdersNoThrow', + name: 'batchFillOrdersNoThrow', outputs: [ { name: 'fillResults', - type: 'tuple', + type: 'tuple[]', components: [ { name: 'makerAssetFilledAmount', @@ -11145,53 +11574,6 @@ export class ExchangeContract extends BaseContract { stateMutability: 'payable', type: 'function', }, - { - constant: false, - inputs: [ - { - name: 'hash', - type: 'bytes32', - }, - ], - name: 'preSign', - outputs: [], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'targetOrderEpoch', - type: 'uint256', - }, - ], - name: 'cancelOrdersUpTo', - outputs: [], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'assetProxyId', - type: 'bytes4', - }, - ], - name: 'getAssetProxy', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, { constant: false, inputs: [ @@ -11328,7 +11710,7 @@ export class ExchangeContract extends BaseContract { type: 'bytes[]', }, ], - name: 'batchMatchOrdersWithMaximalFill', + name: 'batchMatchOrders', outputs: [ { name: 'batchMatchedFillResults', @@ -11537,7 +11919,7 @@ export class ExchangeContract extends BaseContract { type: 'bytes[]', }, ], - name: 'batchMatchOrders', + name: 'batchMatchOrdersWithMaximalFill', outputs: [ { name: 'batchMatchedFillResults', @@ -11614,26 +11996,8 @@ export class ExchangeContract extends BaseContract { constant: false, inputs: [ { - name: 'validatorAddress', - type: 'address', - }, - { - name: 'approval', - type: 'bool', - }, - ], - name: 'setSignatureValidatorApproval', - outputs: [], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'orders', - type: 'tuple[]', + name: 'order', + type: 'tuple', components: [ { name: 'makerAddress', @@ -11693,96 +12057,25 @@ export class ExchangeContract extends BaseContract { }, ], }, - { - name: 'makerAssetFillAmount', - type: 'uint256', - }, - { - name: 'signatures', - type: 'bytes[]', - }, - ], - name: 'marketBuyOrdersNoThrow', - outputs: [ - { - name: 'fillResults', - type: 'tuple', - components: [ - { - name: 'makerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'takerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'makerFeePaid', - type: 'uint256', - }, - { - name: 'takerFeePaid', - type: 'uint256', - }, - { - name: 'protocolFeePaid', - type: 'uint256', - }, - ], - }, ], + name: 'cancelOrder', + outputs: [], payable: true, stateMutability: 'payable', type: 'function', }, { - constant: true, - inputs: [ - { - name: 'index_0', - type: 'address', - }, - { - name: 'index_1', - type: 'address', - }, - ], - name: 'allowedValidators', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, + constant: false, inputs: [ { - name: 'hash', - type: 'bytes32', - }, - { - name: 'signerAddress', - type: 'address', - }, - { - name: 'signature', - type: 'bytes', - }, - ], - name: 'isValidHashSignature', - outputs: [ - { - name: 'isValid', - type: 'bool', + name: 'targetOrderEpoch', + type: 'uint256', }, ], - payable: false, - stateMutability: 'view', + name: 'cancelOrdersUpTo', + outputs: [], + payable: true, + stateMutability: 'payable', type: 'function', }, { @@ -11792,12 +12085,8 @@ export class ExchangeContract extends BaseContract { name: 'index_0', type: 'bytes32', }, - { - name: 'index_1', - type: 'address', - }, ], - name: 'preSigned', + name: 'cancelled', outputs: [ { name: '', @@ -11811,7 +12100,7 @@ export class ExchangeContract extends BaseContract { { constant: true, inputs: [], - name: 'protocolFeeCollector', + name: 'currentContextAddress', outputs: [ { name: '', @@ -11826,39 +12115,11 @@ export class ExchangeContract extends BaseContract { constant: false, inputs: [ { - name: 'leftOrder', + name: 'transaction', type: 'tuple', components: [ { - name: 'makerAddress', - type: 'address', - }, - { - name: 'takerAddress', - type: 'address', - }, - { - name: 'feeRecipientAddress', - type: 'address', - }, - { - name: 'senderAddress', - type: 'address', - }, - { - name: 'makerAssetAmount', - type: 'uint256', - }, - { - name: 'takerAssetAmount', - type: 'uint256', - }, - { - name: 'makerFee', - type: 'uint256', - }, - { - name: 'takerFee', + name: 'salt', type: 'uint256', }, { @@ -11866,29 +12127,40 @@ export class ExchangeContract extends BaseContract { type: 'uint256', }, { - name: 'salt', + name: 'gasPrice', type: 'uint256', }, { - name: 'makerAssetData', - type: 'bytes', - }, - { - name: 'takerAssetData', - type: 'bytes', - }, - { - name: 'makerFeeAssetData', - type: 'bytes', + name: 'signerAddress', + type: 'address', }, { - name: 'takerFeeAssetData', + name: 'data', type: 'bytes', }, ], }, { - name: 'rightOrder', + name: 'signature', + type: 'bytes', + }, + ], + name: 'executeTransaction', + outputs: [ + { + name: '', + type: 'bytes', + }, + ], + payable: true, + stateMutability: 'payable', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: 'order', type: 'tuple', components: [ { @@ -11950,78 +12222,38 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'leftSignature', - type: 'bytes', + name: 'takerAssetFillAmount', + type: 'uint256', }, { - name: 'rightSignature', + name: 'signature', type: 'bytes', }, ], - name: 'matchOrders', + name: 'fillOrKillOrder', outputs: [ { - name: 'matchedFillResults', + name: 'fillResults', type: 'tuple', components: [ { - name: 'left', - type: 'tuple', - components: [ - { - name: 'makerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'takerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'makerFeePaid', - type: 'uint256', - }, - { - name: 'takerFeePaid', - type: 'uint256', - }, - { - name: 'protocolFeePaid', - type: 'uint256', - }, - ], + name: 'makerAssetFilledAmount', + type: 'uint256', }, { - name: 'right', - type: 'tuple', - components: [ - { - name: 'makerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'takerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'makerFeePaid', - type: 'uint256', - }, - { - name: 'takerFeePaid', - type: 'uint256', - }, - { - name: 'protocolFeePaid', - type: 'uint256', - }, - ], + name: 'takerAssetFilledAmount', + type: 'uint256', }, { - name: 'profitInLeftMakerAsset', + name: 'makerFeePaid', type: 'uint256', }, { - name: 'profitInRightMakerAsset', + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', type: 'uint256', }, ], @@ -12035,8 +12267,8 @@ export class ExchangeContract extends BaseContract { constant: false, inputs: [ { - name: 'orders', - type: 'tuple[]', + name: 'order', + type: 'tuple', components: [ { name: 'makerAddress', @@ -12097,15 +12329,15 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'makerAssetFillAmount', + name: 'takerAssetFillAmount', type: 'uint256', }, { - name: 'signatures', - type: 'bytes[]', + name: 'signature', + type: 'bytes', }, ], - name: 'marketBuyOrdersFillOrKill', + name: 'fillOrder', outputs: [ { name: 'fillResults', @@ -12142,41 +12374,15 @@ export class ExchangeContract extends BaseContract { constant: true, inputs: [ { - name: 'transaction', - type: 'tuple', - components: [ - { - name: 'salt', - type: 'uint256', - }, - { - name: 'expirationTimeSeconds', - type: 'uint256', - }, - { - name: 'gasPrice', - type: 'uint256', - }, - { - name: 'signerAddress', - type: 'address', - }, - { - name: 'data', - type: 'bytes', - }, - ], - }, - { - name: 'signature', - type: 'bytes', + name: 'index_0', + type: 'bytes32', }, ], - name: 'isValidTransactionSignature', + name: 'filled', outputs: [ { - name: 'isValid', - type: 'bool', + name: '', + type: 'uint256', }, ], payable: false, @@ -12185,8 +12391,13 @@ export class ExchangeContract extends BaseContract { }, { constant: true, - inputs: [], - name: 'owner', + inputs: [ + { + name: 'assetProxyId', + type: 'bytes4', + }, + ], + name: 'getAssetProxy', outputs: [ { name: '', @@ -12198,11 +12409,11 @@ export class ExchangeContract extends BaseContract { type: 'function', }, { - constant: false, + constant: true, inputs: [ { - name: 'orders', - type: 'tuple[]', + name: 'order', + type: 'tuple', components: [ { name: 'makerAddress', @@ -12262,68 +12473,65 @@ export class ExchangeContract extends BaseContract { }, ], }, - { - name: 'takerAssetFillAmounts', - type: 'uint256[]', - }, - { - name: 'signatures', - type: 'bytes[]', - }, ], - name: 'batchFillOrdersNoThrow', + name: 'getOrderInfo', outputs: [ { - name: 'fillResults', - type: 'tuple[]', + name: 'orderInfo', + type: 'tuple', components: [ { - name: 'makerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'takerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'makerFeePaid', - type: 'uint256', + name: 'orderStatus', + type: 'uint8', }, { - name: 'takerFeePaid', - type: 'uint256', + name: 'orderHash', + type: 'bytes32', }, { - name: 'protocolFeePaid', + name: 'orderTakerAssetFilledAmount', type: 'uint256', }, ], }, ], - payable: true, - stateMutability: 'payable', + payable: false, + stateMutability: 'view', type: 'function', }, { - constant: false, + constant: true, inputs: [ { - name: 'updatedProtocolFeeMultiplier', - type: 'uint256', + name: 'hash', + type: 'bytes32', + }, + { + name: 'signerAddress', + type: 'address', + }, + { + name: 'signature', + type: 'bytes', + }, + ], + name: 'isValidHashSignature', + outputs: [ + { + name: 'isValid', + type: 'bool', }, ], - name: 'setProtocolFeeMultiplier', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { - constant: false, + constant: true, inputs: [ { - name: 'orders', - type: 'tuple[]', + name: 'order', + type: 'tuple', components: [ { name: 'makerAddress', @@ -12384,53 +12592,72 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'takerAssetFillAmounts', - type: 'uint256[]', + name: 'signature', + type: 'bytes', }, + ], + name: 'isValidOrderSignature', + outputs: [ { - name: 'signatures', - type: 'bytes[]', + name: 'isValid', + type: 'bool', }, ], - name: 'batchFillOrders', - outputs: [ + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ { - name: 'fillResults', - type: 'tuple[]', + name: 'transaction', + type: 'tuple', components: [ { - name: 'makerAssetFilledAmount', + name: 'salt', type: 'uint256', }, { - name: 'takerAssetFilledAmount', + name: 'expirationTimeSeconds', type: 'uint256', }, { - name: 'makerFeePaid', + name: 'gasPrice', type: 'uint256', }, { - name: 'takerFeePaid', - type: 'uint256', + name: 'signerAddress', + type: 'address', }, { - name: 'protocolFeePaid', - type: 'uint256', + name: 'data', + type: 'bytes', }, ], }, + { + name: 'signature', + type: 'bytes', + }, ], - payable: true, - stateMutability: 'payable', + name: 'isValidTransactionSignature', + outputs: [ + { + name: 'isValid', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'view', type: 'function', }, { constant: false, inputs: [ - { - name: 'order', - type: 'tuple', + { + name: 'orders', + type: 'tuple[]', components: [ { name: 'makerAddress', @@ -12491,15 +12718,15 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'takerAssetFillAmount', + name: 'makerAssetFillAmount', type: 'uint256', }, { - name: 'signature', - type: 'bytes', + name: 'signatures', + type: 'bytes[]', }, ], - name: 'fillOrder', + name: 'marketBuyOrdersFillOrKill', outputs: [ { name: 'fillResults', @@ -12533,11 +12760,11 @@ export class ExchangeContract extends BaseContract { type: 'function', }, { - constant: true, + constant: false, inputs: [ { - name: 'order', - type: 'tuple', + name: 'orders', + type: 'tuple[]', components: [ { name: 'makerAddress', @@ -12597,38 +12824,54 @@ export class ExchangeContract extends BaseContract { }, ], }, + { + name: 'makerAssetFillAmount', + type: 'uint256', + }, + { + name: 'signatures', + type: 'bytes[]', + }, ], - name: 'getOrderInfo', + name: 'marketBuyOrdersNoThrow', outputs: [ { - name: 'orderInfo', + name: 'fillResults', type: 'tuple', components: [ { - name: 'orderStatus', - type: 'uint8', + name: 'makerAssetFilledAmount', + type: 'uint256', }, { - name: 'orderHash', - type: 'bytes32', + name: 'takerAssetFilledAmount', + type: 'uint256', }, { - name: 'orderTakerAssetFilledAmount', + name: 'makerFeePaid', + type: 'uint256', + }, + { + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', type: 'uint256', }, ], }, ], - payable: false, - stateMutability: 'view', + payable: true, + stateMutability: 'payable', type: 'function', }, { - constant: true, + constant: false, inputs: [ { - name: 'order', - type: 'tuple', + name: 'orders', + type: 'tuple[]', components: [ { name: 'makerAddress', @@ -12689,19 +12932,45 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'signature', - type: 'bytes', + name: 'takerAssetFillAmount', + type: 'uint256', + }, + { + name: 'signatures', + type: 'bytes[]', }, ], - name: 'isValidOrderSignature', + name: 'marketSellOrdersFillOrKill', outputs: [ { - name: 'isValid', - type: 'bool', + name: 'fillResults', + type: 'tuple', + components: [ + { + name: 'makerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'takerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'makerFeePaid', + type: 'uint256', + }, + { + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', + type: 'uint256', + }, + ], }, ], - payable: false, - stateMutability: 'view', + payable: true, + stateMutability: 'payable', type: 'function', }, { @@ -12778,7 +13047,7 @@ export class ExchangeContract extends BaseContract { type: 'bytes[]', }, ], - name: 'marketSellOrdersFillOrKill', + name: 'marketSellOrdersNoThrow', outputs: [ { name: 'fillResults', @@ -12811,32 +13080,6 @@ export class ExchangeContract extends BaseContract { stateMutability: 'payable', type: 'function', }, - { - constant: false, - inputs: [ - { - name: 'assetData', - type: 'bytes[]', - }, - { - name: 'fromAddresses', - type: 'address[]', - }, - { - name: 'toAddresses', - type: 'address[]', - }, - { - name: 'amounts', - type: 'uint256[]', - }, - ], - name: 'simulateDispatchTransferFromCalls', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, { constant: false, inputs: [ @@ -12973,7 +13216,7 @@ export class ExchangeContract extends BaseContract { type: 'bytes', }, ], - name: 'matchOrdersWithMaximalFill', + name: 'matchOrders', outputs: [ { name: 'matchedFillResults', @@ -13006,144 +13249,37 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'right', - type: 'tuple', - components: [ - { - name: 'makerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'takerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'makerFeePaid', - type: 'uint256', - }, - { - name: 'takerFeePaid', - type: 'uint256', - }, - { - name: 'protocolFeePaid', - type: 'uint256', - }, - ], - }, - { - name: 'profitInLeftMakerAsset', - type: 'uint256', - }, - { - name: 'profitInRightMakerAsset', - type: 'uint256', - }, - ], - }, - ], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'orders', - type: 'tuple[]', - components: [ - { - name: 'makerAddress', - type: 'address', - }, - { - name: 'takerAddress', - type: 'address', - }, - { - name: 'feeRecipientAddress', - type: 'address', - }, - { - name: 'senderAddress', - type: 'address', - }, - { - name: 'makerAssetAmount', - type: 'uint256', - }, - { - name: 'takerAssetAmount', - type: 'uint256', - }, - { - name: 'makerFee', - type: 'uint256', - }, - { - name: 'takerFee', - type: 'uint256', - }, - { - name: 'expirationTimeSeconds', - type: 'uint256', - }, - { - name: 'salt', - type: 'uint256', - }, - { - name: 'makerAssetData', - type: 'bytes', - }, - { - name: 'takerAssetData', - type: 'bytes', - }, - { - name: 'makerFeeAssetData', - type: 'bytes', - }, - { - name: 'takerFeeAssetData', - type: 'bytes', - }, - ], - }, - { - name: 'takerAssetFillAmounts', - type: 'uint256[]', - }, - { - name: 'signatures', - type: 'bytes[]', - }, - ], - name: 'batchFillOrKillOrders', - outputs: [ - { - name: 'fillResults', - type: 'tuple[]', - components: [ - { - name: 'makerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'takerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'makerFeePaid', - type: 'uint256', + name: 'right', + type: 'tuple', + components: [ + { + name: 'makerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'takerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'makerFeePaid', + type: 'uint256', + }, + { + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', + type: 'uint256', + }, + ], }, { - name: 'takerFeePaid', + name: 'profitInLeftMakerAsset', type: 'uint256', }, { - name: 'protocolFeePaid', + name: 'profitInRightMakerAsset', type: 'uint256', }, ], @@ -13157,87 +13293,8 @@ export class ExchangeContract extends BaseContract { constant: false, inputs: [ { - name: 'updatedProtocolFeeCollector', - type: 'address', - }, - ], - name: 'setProtocolFeeCollectorAddress', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'EIP712_EXCHANGE_DOMAIN_HASH', - outputs: [ - { - name: '', - type: 'bytes32', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'assetProxy', - type: 'address', - }, - ], - name: 'registerAssetProxy', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'index_0', - type: 'address', - }, - { - name: 'index_1', - type: 'address', - }, - ], - name: 'orderEpoch', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [], - name: 'EIP1271_MAGIC_VALUE', - outputs: [ - { - name: '', - type: 'bytes4', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'orders', - type: 'tuple[]', + name: 'leftOrder', + type: 'tuple', components: [ { name: 'makerAddress', @@ -13297,18 +13354,8 @@ export class ExchangeContract extends BaseContract { }, ], }, - ], - name: 'batchCancelOrders', - outputs: [], - payable: true, - stateMutability: 'payable', - type: 'function', - }, - { - constant: false, - inputs: [ { - name: 'order', + name: 'rightOrder', type: 'tuple', components: [ { @@ -13370,38 +13417,78 @@ export class ExchangeContract extends BaseContract { ], }, { - name: 'takerAssetFillAmount', - type: 'uint256', + name: 'leftSignature', + type: 'bytes', }, { - name: 'signature', + name: 'rightSignature', type: 'bytes', }, ], - name: 'fillOrKillOrder', + name: 'matchOrdersWithMaximalFill', outputs: [ { - name: 'fillResults', + name: 'matchedFillResults', type: 'tuple', components: [ { - name: 'makerAssetFilledAmount', - type: 'uint256', - }, - { - name: 'takerAssetFilledAmount', - type: 'uint256', + name: 'left', + type: 'tuple', + components: [ + { + name: 'makerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'takerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'makerFeePaid', + type: 'uint256', + }, + { + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', + type: 'uint256', + }, + ], }, { - name: 'makerFeePaid', - type: 'uint256', + name: 'right', + type: 'tuple', + components: [ + { + name: 'makerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'takerAssetFilledAmount', + type: 'uint256', + }, + { + name: 'makerFeePaid', + type: 'uint256', + }, + { + name: 'takerFeePaid', + type: 'uint256', + }, + { + name: 'protocolFeePaid', + type: 'uint256', + }, + ], }, { - name: 'takerFeePaid', + name: 'profitInLeftMakerAsset', type: 'uint256', }, { - name: 'protocolFeePaid', + name: 'profitInRightMakerAsset', type: 'uint256', }, ], @@ -13413,12 +13500,21 @@ export class ExchangeContract extends BaseContract { }, { constant: true, - inputs: [], - name: 'currentContextAddress', + inputs: [ + { + name: 'index_0', + type: 'address', + }, + { + name: 'index_1', + type: 'address', + }, + ], + name: 'orderEpoch', outputs: [ { name: '', - type: 'address', + type: 'uint256', }, ], payable: false, @@ -13426,304 +13522,202 @@ export class ExchangeContract extends BaseContract { type: 'function', }, { - constant: false, - inputs: [ + constant: true, + inputs: [], + name: 'owner', + outputs: [ { - name: 'newOwner', + name: '', type: 'address', }, ], - name: 'transferOwnership', - outputs: [], payable: false, - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', }, { constant: false, inputs: [ { - name: 'transactions', - type: 'tuple[]', - components: [ - { - name: 'salt', - type: 'uint256', - }, - { - name: 'expirationTimeSeconds', - type: 'uint256', - }, - { - name: 'gasPrice', - type: 'uint256', - }, - { - name: 'signerAddress', - type: 'address', - }, - { - name: 'data', - type: 'bytes', - }, - ], + name: 'hash', + type: 'bytes32', + }, + ], + name: 'preSign', + outputs: [], + payable: true, + stateMutability: 'payable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: 'index_0', + type: 'bytes32', }, { - name: 'signatures', - type: 'bytes[]', + name: 'index_1', + type: 'address', }, ], - name: 'batchExecuteTransactions', + name: 'preSigned', outputs: [ { name: '', - type: 'bytes[]', + type: 'bool', }, ], - payable: true, - stateMutability: 'payable', + payable: false, + stateMutability: 'view', type: 'function', }, { - inputs: [ + constant: true, + inputs: [], + name: 'protocolFeeCollector', + outputs: [ { - name: 'chainId', - type: 'uint256', + name: '', + type: 'address', }, ], - outputs: [], payable: false, - stateMutability: 'nonpayable', - type: 'constructor', + stateMutability: 'view', + type: 'function', }, { - anonymous: false, - inputs: [ + constant: true, + inputs: [], + name: 'protocolFeeMultiplier', + outputs: [ { - name: 'transactionHash', - type: 'bytes32', - indexed: true, + name: '', + type: 'uint256', }, ], - name: 'TransactionExecution', - outputs: [], - type: 'event', + payable: false, + stateMutability: 'view', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: 'signerAddress', - type: 'address', - indexed: true, - }, - { - name: 'validatorAddress', + name: 'assetProxy', type: 'address', - indexed: true, - }, - { - name: 'isApproved', - type: 'bool', - indexed: false, }, ], - name: 'SignatureValidatorApproval', + name: 'registerAssetProxy', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: 'id', - type: 'bytes4', - indexed: false, - }, - { - name: 'assetProxy', + name: 'updatedProtocolFeeCollector', type: 'address', - indexed: false, }, ], - name: 'AssetProxyRegistered', + name: 'setProtocolFeeCollectorAddress', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ - { - name: 'oldProtocolFeeMultiplier', - type: 'uint256', - indexed: false, - }, { name: 'updatedProtocolFeeMultiplier', type: 'uint256', - indexed: false, }, ], - name: 'ProtocolFeeMultiplier', + name: 'setProtocolFeeMultiplier', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: 'oldProtocolFeeCollector', + name: 'validatorAddress', type: 'address', - indexed: false, }, { - name: 'updatedProtocolFeeCollector', - type: 'address', - indexed: false, + name: 'approval', + type: 'bool', }, ], - name: 'ProtocolFeeCollectorAddress', + name: 'setSignatureValidatorApproval', outputs: [], - type: 'event', + payable: true, + stateMutability: 'payable', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: 'makerAddress', - type: 'address', - indexed: true, - }, - { - name: 'feeRecipientAddress', - type: 'address', - indexed: true, - }, - { - name: 'makerAssetData', - type: 'bytes', - indexed: false, - }, - { - name: 'takerAssetData', - type: 'bytes', - indexed: false, - }, - { - name: 'makerFeeAssetData', - type: 'bytes', - indexed: false, - }, - { - name: 'takerFeeAssetData', - type: 'bytes', - indexed: false, - }, - { - name: 'orderHash', - type: 'bytes32', - indexed: true, - }, - { - name: 'takerAddress', - type: 'address', - indexed: false, - }, - { - name: 'senderAddress', - type: 'address', - indexed: false, - }, - { - name: 'makerAssetFilledAmount', - type: 'uint256', - indexed: false, - }, - { - name: 'takerAssetFilledAmount', - type: 'uint256', - indexed: false, + name: 'assetData', + type: 'bytes[]', }, { - name: 'makerFeePaid', - type: 'uint256', - indexed: false, + name: 'fromAddresses', + type: 'address[]', }, { - name: 'takerFeePaid', - type: 'uint256', - indexed: false, + name: 'toAddresses', + type: 'address[]', }, { - name: 'protocolFeePaid', - type: 'uint256', - indexed: false, + name: 'amounts', + type: 'uint256[]', }, ], - name: 'Fill', + name: 'simulateDispatchTransferFromCalls', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, { - anonymous: false, + constant: true, inputs: [ { - name: 'makerAddress', - type: 'address', - indexed: true, - }, - { - name: 'feeRecipientAddress', - type: 'address', - indexed: true, - }, - { - name: 'makerAssetData', - type: 'bytes', - indexed: false, - }, - { - name: 'takerAssetData', - type: 'bytes', - indexed: false, - }, - { - name: 'senderAddress', - type: 'address', - indexed: false, + name: 'index_0', + type: 'bytes32', }, + ], + name: 'transactionsExecuted', + outputs: [ { - name: 'orderHash', - type: 'bytes32', - indexed: true, + name: '', + type: 'bool', }, ], - name: 'Cancel', - outputs: [], - type: 'event', + payable: false, + stateMutability: 'view', + type: 'function', }, { - anonymous: false, + constant: false, inputs: [ { - name: 'makerAddress', - type: 'address', - indexed: true, - }, - { - name: 'orderSenderAddress', + name: 'newOwner', type: 'address', - indexed: true, - }, - { - name: 'orderEpoch', - type: 'uint256', - indexed: false, }, ], - name: 'CancelUpTo', + name: 'transferOwnership', outputs: [], - type: 'event', + payable: false, + stateMutability: 'nonpayable', + type: 'function', }, ] as ContractAbi; return abi; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts index b2889a9415..71ae55bf7a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -29,7 +29,7 @@ import * as ethers from 'ethers'; // tslint:disable-next-line:class-name export class ForwarderContract extends BaseContract { public static deployedBytecode = - '0x6080604052600436106100655760003560e01c8063942d33c011610043578063942d33c014610102578063ae93b97a14610124578063f2fde38b1461013757610065565b8063442026ed14610097578063630f1e6c146100b75780638da5cb5b146100d7575b60025473ffffffffffffffffffffffffffffffffffffffff1633146100955761009561009033610157565b6101f6565b005b3480156100a357600080fd5b506100956100b2366004611b5e565b6101fe565b3480156100c357600080fd5b506100956100d2366004611ba0565b6104a8565b3480156100e357600080fd5b506100ec6104f1565b6040516100f99190611ce7565b60405180910390f35b610115610110366004611ab3565b61050d565b6040516100f993929190611f9b565b610115610132366004611a36565b610565565b34801561014357600080fd5b506100956101523660046119fc565b6105e3565b60606308b1869860e01b826040516024016101729190611ce7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600061024a600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff61065a169050565b905060405161025890611cbe565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104a35760015460405160009173ffffffffffffffffffffffffffffffffffffffff16906360704108906102d490611cbe565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261031291600401611d86565b60206040518083038186803b15801561032a57600080fd5b505afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103629190810190611a19565b905073ffffffffffffffffffffffffffffffffffffffff811661038a5761038a6100906106b0565b60006103d6601086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff61070a169050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b39061044d9085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401611d08565b602060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061049f9190810190611b3c565b5050505b505050565b6104b061074a565b6104a383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250610793915050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061051a61087e565b610525888888610913565b9093509150610535838686610a9b565b905061055a8860008151811061054757fe5b6020026020010151610140015183610793565b955095509592505050565b600080600061057261087e565b6000610596670de0b6b3a7640000610590888263ffffffff610c3a16565b34610c5d565b90506105a3888289610c87565b90945092506105b3848787610a9b565b91506105d8886000815181106105c557fe5b6020026020010151610140015184610793565b509450945094915050565b6105eb61074a565b73ffffffffffffffffffffffffffffffffffffffff811661061657610611610090610d9b565b610657565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000816004018351101561067b5761067b6100906003855185600401610dd2565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff3b96b8d0000000000000000000000000000000000000000000000000000000017905290565b6000816014018351101561072b5761072b6100906004855185601401610dd2565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610791576000546107919061009090339073ffffffffffffffffffffffffffffffffffffffff16610e77565b565b60006107a5838263ffffffff61065a16565b90506040516107b390611cbe565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561080f5761080a8383610f19565b6104a3565b60405161081b90611c6c565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156108725761080a8383611081565b6104a36100908261114e565b3461088e5761088e610090611169565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b5050505050565b82516000908190815b818114610a7c576109678760008151811061093357fe5b6020026020010151610140015188838151811061094c57fe5b602002602001015161014001516111c390919063ffffffff16565b6109a9576109a96100908860008151811061097e57fe5b6020026020010151610140015189848151811061099757fe5b602002602001015161014001516111e9565b8681815181106109b557fe5b602002602001015160800151600014806109e657508681815181106109d657fe5b602002602001015160a001516000145b156109f057610a74565b6000610a02878563ffffffff61120616565b9050600080610a388a8581518110610a1657fe5b6020026020010151898681518110610a2a57fe5b602002602001015185611225565b9092509050610a4d878363ffffffff610c3a16565b9650610a5f868263ffffffff610c3a16565b9550888610610a7057505050610a7c565b5050505b60010161091c565b5084821015610a9257610a92610090868461134e565b50935093915050565b600066b1a2bc2ec50000831115610ab857610ab86100908461136b565b34841115610acd57610acd6100908534611386565b6000610adf348663ffffffff61120616565b9050610af484670de0b6b3a764000087610c5d565b915080821115610b0b57610b0b61009083836113a3565b8015610c32576002546040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90610b67908490600401611f84565b600060405180830381600087803b158015610b8157600080fd5b505af1158015610b95573d6000803e3d6000fd5b505050506000821115610be75760405173ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610be5573d6000803e3d6000fd5b505b6000610bf9828463ffffffff61120616565b90508015610c3057604051339082156108fc029083906000818181858888f19350505050158015610c2e573d6000803e3d6000fd5b505b505b509392505050565b600082820183811015610c5657610c56610090600086866113c0565b9392505050565b6000610c7f83610c73868563ffffffff6113df16565b9063ffffffff61141016565b949350505050565b82516000908190815b818114610d9157610ca78760008151811061093357fe5b610cbe57610cbe6100908860008151811061097e57fe5b868181518110610cca57fe5b60200260200101516080015160001480610cfb5750868181518110610ceb57fe5b602002602001015160a001516000145b15610d0557610d89565b6000610d17878663ffffffff61120616565b9050600080610d4d8a8581518110610d2b57fe5b6020026020010151898681518110610d3f57fe5b60200260200101518561143a565b9092509050610d62878363ffffffff610c3a16565b9650610d74868263ffffffff610c3a16565b9550888710610d8557505050610d91565b5050505b600101610c90565b5050935093915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b6060632800659560e01b848484604051602401610df193929190611e16565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6060631de45ad160e01b8383604051602401610e94929190611d2e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b6000610f2c83601063ffffffff61070a16565b9050600060608273ffffffffffffffffffffffffffffffffffffffff16604051610f5590611c95565b60405180910390203386604051602401610f70929190611d08565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ff99190611c50565b6000604051808303816000865af19150503d8060008114611036576040519150601f19603f3d011682016040523d82523d6000602084013e61103b565b606091505b50915091508161105157611051610090826114e9565b3d15611070576000915060203d14156110705760206000803e60005191505b8161090c5761090c610090826114e9565b806001146110955761109561009082611504565b60006110a883601063ffffffff61070a16565b905060006110bd84602463ffffffff61151f16565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906323b872dd9061111690309033908690600401611d55565b600060405180830381600087803b15801561113057600080fd5b505af1158015611144573d6000803e3d6000fd5b5050505050505050565b6060637996a27160e01b826040516024016101729190611d86565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1213e1d60000000000000000000000000000000000000000000000000000000017905290565b600081518351148015610c56575081805190602001208380519060200120149392505050565b60606356677f2c60e01b8383604051602401610e94929190611dc6565b60008282111561121f5761121f610090600285856113c0565b50900390565b6000808460e001516000148061125157506101608501516101a08601516112519163ffffffff6111c316565b156112ab57600061126b8660a0015187608001518661152b565b90506112756116bf565b611280878388611561565b905061129d81606001518260200151610c3a90919063ffffffff16565b905190935091506113469050565b6101408501516101a08601516112c69163ffffffff6111c316565b156113355760006112f68660a001516112f08860e00151896080015161120690919063ffffffff16565b8661152b565b90506113006116bf565b61130b878388611561565b60208101516060820151825191965091925061132c9163ffffffff61120616565b92505050611346565b611346610090866101a0015161167a565b935093915050565b60606391353a0c60e01b8383604051602401610e94929190611f8d565b6060631174fb8060e01b826040516024016101729190611f84565b6060635cc555c860e01b8383604051602401610e94929190611f8d565b606063ecf40fd960e01b8383604051602401610e94929190611f8d565b606063e946c1bb60e01b848484604051602401610df193929190611df4565b6000826113ee575060006106aa565b828202828482816113fb57fe5b0414610c5657610c56610090600186866113c0565b60008161142657611426610090600385856113c0565b600082848161143157fe5b04949350505050565b6000808460e001516000148061146657506101408501516101a08601516114669163ffffffff6111c316565b156114a7576114736116bf565b61147e868587611561565b60208101516060820151825191955091925061149f9163ffffffff61120616565b915050611346565b6101608501516101a08601516114c29163ffffffff6111c316565b156113355760a085015160e086015160009161126b916112f090829063ffffffff610c3a16565b6060635e7eb60f60e01b826040516024016101729190611db3565b606063baffa47460e01b826040516024016101729190611f84565b6000610c568383611695565b6000610c7f83610c7361154582600163ffffffff61120616565b611555888763ffffffff6113df16565b9063ffffffff610c3a16565b6115696116bf565b6040516060907f9b44d55600000000000000000000000000000000000000000000000000000000906115a390879087908790602401611e24565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092178252600154815191935073ffffffffffffffffffffffffffffffffffffffff169160809184916000855af18015610c2e57825184526020830151602085015260408301516040850152606083015160608501525050509392505050565b60606331360af160e01b826040516024016101729190611db3565b600081602001835110156116b6576116b66100906005855185602001610dd2565b50016020015190565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b80356106aa81612029565b600082601f830112611709578081fd5b813561171c61171782611fd8565b611fb1565b8181529150602080830190840160005b83811015611759576117448760208435890101611975565b8352602092830192919091019060010161172c565b5050505092915050565b600082601f830112611773578081fd5b813561178161171782611fd8565b81815291506020808301908481016000805b8582101561192057823588016101c0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838d030112156117d2578283fd5b6117db81611fb1565b6117e78c8885016116ee565b81526117f68c604085016116ee565b878201526118078c606085016116ee565b60408201526118198c608085016116ee565b606082015260a0830135608082015260c083013560a082015260e083013560c08201526101008084013560e08301526101208085013582840152610140915081850135818401525061016084013567ffffffffffffffff8082111561187c578687fd5b61188a8f8b84890101611975565b838501526101809250828601359150808211156118a5578687fd5b6118b38f8b84890101611975565b6101608501526101a08601359150808211156118cd578687fd5b6118db8f8b84890101611975565b83850152848601359250808311156118f1578687fd5b50506119018d8983870101611975565b6101a08301525087525050938301939183019160019190910190611793565b50505050505092915050565b60008083601f84011261193e57600080fd5b50813567ffffffffffffffff81111561195657600080fd5b60208301915083602082850101111561196e57600080fd5b9250929050565b600082601f830112611985578081fd5b813567ffffffffffffffff81111561199b578182fd5b6119cc60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611fb1565b91508082528360208285010111156119e357600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611a0e57600080fd5b8135610c5681612029565b600060208284031215611a2b57600080fd5b8151610c5681612029565b60008060008060808587031215611a4b578283fd5b843567ffffffffffffffff80821115611a62578485fd5b611a6e88838901611763565b95506020870135915080821115611a83578485fd5b50611a90878288016116f9565b935050604085013591506060850135611aa881612029565b939692955090935050565b600080600080600060a08688031215611aca578081fd5b853567ffffffffffffffff80821115611ae1578283fd5b611aed89838a01611763565b9650602088013595506040880135915080821115611b09578283fd5b50611b16888289016116f9565b935050606086013591506080860135611b2e81612029565b809150509295509295909350565b600060208284031215611b4e57600080fd5b81518015158114610c5657600080fd5b60008060208385031215611b7157600080fd5b823567ffffffffffffffff811115611b8857600080fd5b611b948582860161192c565b90969095509350505050565b600080600060408486031215611bb557600080fd5b833567ffffffffffffffff811115611bcc57600080fd5b611bd88682870161192c565b909790965060209590950135949350505050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611c1e816020860160208601611ff9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251611c62818460208701611ff9565b9190910192915050565b7f455243373231546f6b656e28616464726573732c75696e7432353629000000008152601c0190565b7f7472616e7366657228616464726573732c75696e743235362900000000000000815260190190565b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610c566020830184611c06565b600060408252611dd96040830185611c06565b8281036020840152611deb8185611c06565b95945050505050565b6060810160048510611e0257fe5b938152602081019290925260409091015290565b6060810160088510611e0257fe5b6000606082526101c0611e3b606084018751611bec565b6020860151611e4d6080850182611bec565b506040860151611e6060a0850182611bec565b506060860151611e7360c0850182611bec565b50608086015160e084015260a0860151610100818186015260c08801519150610120828187015260e089015192506101408381880152828a0151935061016092508383880152818a0151935061018091508382880152808a01519350506101a08481880152611ee6610220880185611c06565b838b015194507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09350838882030186890152611f228186611c06565b955050818a0151935082878603016101e0880152611f408585611c06565b908a0151878203840161020089015294509050611f5d8185611c06565b925050508560208501528381036040850152611f798186611c06565b979650505050505050565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff81118282101715611fd057600080fd5b604052919050565b600067ffffffffffffffff821115611fef57600080fd5b5060209081020190565b60005b83811015612014578181015183820152602001611ffc565b83811115612023576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461065757600080fdfea365627a7a72315820db2f1b7ebe1fc58ec155124eeb6a8f31116337029f3ae90db6b035c8684879256c6578706572696d656e74616cf564736f6c634300050b0040'; + '0x6080604052600436106100655760003560e01c8063942d33c011610043578063942d33c014610102578063ae93b97a14610124578063f2fde38b1461013757610065565b8063442026ed14610097578063630f1e6c146100b75780638da5cb5b146100d7575b60025473ffffffffffffffffffffffffffffffffffffffff1633146100955761009561009033610157565b6101f6565b005b3480156100a357600080fd5b506100956100b2366004611bc6565b6101fe565b3480156100c357600080fd5b506100956100d2366004611c06565b6104a8565b3480156100e357600080fd5b506100ec6104f1565b6040516100f99190611dc0565b60405180910390f35b610115610110366004611b1d565b61050d565b6040516100f993929190612047565b610115610132366004611aa0565b610542565b34801561014357600080fd5b50610095610152366004611a68565b61059d565b60606308b1869860e01b826040516024016101729190611dc0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600061024a600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff610614169050565b905060405161025890611d97565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104a35760015460405160009173ffffffffffffffffffffffffffffffffffffffff16906360704108906102d490611d97565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261031291600401611e5f565b60206040518083038186803b15801561032a57600080fd5b505afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103629190810190611a84565b905073ffffffffffffffffffffffffffffffffffffffff811661038a5761038a61009061066a565b60006103d6601086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff6106c4169050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b39061044d9085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401611de1565b602060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061049f9190810190611ba6565b5050505b505050565b6104b0610704565b6104a383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525085925061074d915050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061051a610838565b6105258888886108cd565b90935091506105358386866109f0565b9050955095509592505050565b600080600061054f610838565b6000610573670de0b6b3a764000061056d888263ffffffff610b8f16565b34610bb2565b9050610580888289610bdc565b90945092506105908487876109f0565b9150509450945094915050565b6105a5610704565b73ffffffffffffffffffffffffffffffffffffffff81166105d0576105cb610090610d9f565b610611565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b60008160040183511015610635576106356100906003855185600401610dd6565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff3b96b8d0000000000000000000000000000000000000000000000000000000017905290565b600081601401835110156106e5576106e56100906004855185601401610dd6565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461074b5760005461074b9061009090339073ffffffffffffffffffffffffffffffffffffffff16610e7b565b565b600061075f838263ffffffff61061416565b905060405161076d90611d97565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156107c9576107c48383610f1d565b6104a3565b6040516107d590611d45565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561082c576107c48383611085565b6104a361009082611152565b346108485761084861009061116d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b5050505050565b82516000908190815b8181146109d1578681815181106108e957fe5b6020026020010151608001516000148061091a575086818151811061090a57fe5b602002602001015160a001516000145b15610924576109c9565b6000610936878563ffffffff6111c716565b905060008061096c8a858151811061094a57fe5b602002602001015189868151811061095e57fe5b6020026020010151856111e6565b915091506109928a858151811061097f57fe5b602002602001015161014001518261074d565b6109a2878363ffffffff610b8f16565b96506109b4868263ffffffff610b8f16565b95508886106109c5575050506109d1565b5050505b6001016108d6565b50848210156109e7576109e76100908684611339565b50935093915050565b600066b1a2bc2ec50000831115610a0d57610a0d61009084611356565b34841115610a2257610a226100908534611371565b6000610a34348663ffffffff6111c716565b9050610a4984670de0b6b3a764000087610bb2565b915080821115610a6057610a60610090838361138e565b8015610b87576002546040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90610abc908490600401612030565b600060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506000821115610b3c5760405173ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610b3a573d6000803e3d6000fd5b505b6000610b4e828463ffffffff6111c716565b90508015610b8557604051339082156108fc029083906000818181858888f19350505050158015610b83573d6000803e3d6000fd5b505b505b509392505050565b600082820183811015610bab57610bab610090600086866113ab565b9392505050565b6000610bd483610bc8868563ffffffff6113ca16565b9063ffffffff6113fb16565b949350505050565b6000806000855190506000610c97600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5257600080fd5b505afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c8a9190810190611cad565b3a9063ffffffff6113ca16565b905060005b828114610d9457878181518110610caf57fe5b60200260200101516080015160001480610ce05750878181518110610cd057fe5b602002602001015160a001516000145b15610cea57610d8c565b6000610d0c83610d008a8963ffffffff6111c716565b9063ffffffff6111c716565b9050600080610d428b8581518110610d2057fe5b60200260200101518a8681518110610d3457fe5b602002602001015185611425565b91509150610d558b858151811061097f57fe5b610d65888363ffffffff610b8f16565b9750610d77878263ffffffff610b8f16565b9650898810610d8857505050610d94565b5050505b600101610c9c565b505050935093915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b6060632800659560e01b848484604051602401610df593929190611ec1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6060631de45ad160e01b8383604051602401610e98929190611e07565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b6000610f3083601063ffffffff6106c416565b9050600060608273ffffffffffffffffffffffffffffffffffffffff16604051610f5990611d6e565b60405180910390203386604051602401610f74929190611de1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ffd9190611d29565b6000604051808303816000865af19150503d806000811461103a576040519150601f19603f3d011682016040523d82523d6000602084013e61103f565b606091505b50915091508161105557611055610090826114ea565b3d15611074576000915060203d14156110745760206000803e60005191505b816108c6576108c6610090826114ea565b806001146110995761109961009082611505565b60006110ac83601063ffffffff6106c416565b905060006110c184602463ffffffff61152016565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906323b872dd9061111a90309033908690600401611e2e565b600060405180830381600087803b15801561113457600080fd5b505af1158015611148573d6000803e3d6000fd5b5050505050505050565b6060637996a27160e01b826040516024016101729190611e5f565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8c0e562b0000000000000000000000000000000000000000000000000000000017905290565b6000828211156111e0576111e0610090600285856113ab565b50900390565b6000808460e001516000148061121257506101608501516101a08601516112129163ffffffff61152c16565b1561128057600061122c8660a00151876080015186611552565b905061123661172e565b61124187838861157c565b9050611272816080015161126683606001518460200151610b8f90919063ffffffff16565b9063ffffffff610b8f16565b905190935091506113319050565b6101408501516101a086015161129b9163ffffffff61152c16565b156113205760006112cb8660a001516112c58860e0015189608001516111c790919063ffffffff16565b86611552565b90506112d561172e565b6112e087838861157c565b90506112fd81608001518260200151610b8f90919063ffffffff16565b60608201518251919550611317919063ffffffff6111c716565b92505050611331565b611331610090866101a001516116e9565b935093915050565b60606391353a0c60e01b8383604051602401610e98929190612039565b6060631174fb8060e01b826040516024016101729190612030565b606063cdcbed5d60e01b8383604051602401610e98929190612039565b606063ecf40fd960e01b8383604051602401610e98929190612039565b606063e946c1bb60e01b848484604051602401610df593929190611e9f565b6000826113d957506000610664565b828202828482816113e657fe5b0414610bab57610bab610090600186866113ab565b60008161141157611411610090600385856113ab565b600082848161141c57fe5b04949350505050565b6000808460e001516000148061145157506101408501516101a08601516114519163ffffffff61152c16565b156114a85761145e61172e565b61146986858761157c565b905061148681608001518260200151610b8f90919063ffffffff16565b606082015182519194506114a0919063ffffffff6111c716565b915050611331565b6101608501516101a08601516114c39163ffffffff61152c16565b156113205760a085015160e086015160009161122c916112c590829063ffffffff610b8f16565b6060635e7eb60f60e01b826040516024016101729190611e8c565b606063baffa47460e01b826040516024016101729190612030565b6000610bab8383611704565b600081518351148015610bab575081805190602001208380519060200120149392505050565b6000610bd483610bc861156c82600163ffffffff6111c716565b611266888763ffffffff6113ca16565b61158461172e565b6040516060907f9b44d55600000000000000000000000000000000000000000000000000000000906115be90879087908790602401611ecf565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252600154915190925073ffffffffffffffffffffffffffffffffffffffff90911690600090606090839061166f908690611d29565b6000604051808303816000865af19150503d80600081146116ac576040519150601f19603f3d011682016040523d82523d6000602084013e6116b1565b606091505b509150915081156116de57805160a0146116c757fe5b808060200190516116db9190810190611c50565b94505b505050509392505050565b60606331360af160e01b826040516024016101729190611e8c565b60008160200183511015611725576117256100906005855185602001610dd6565b50016020015190565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8035610664816120d4565b600082601f830112611778578081fd5b813561178b61178682612084565b61205d565b8181529150602080830190840160005b838110156117c8576117b387602084358901016119e1565b8352602092830192919091019060010161179b565b5050505092915050565b600082601f8301126117e2578081fd5b81356117f061178682612084565b818152915060208083019084810160005b8481101561198f57813587016101c0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561184157600080fd5b61184a8161205d565b6118568b87850161175d565b81526118658b6040850161175d565b868201526118768b6060850161175d565b60408201526118888b6080850161175d565b606082015260a0830135608082015260c083013560a082015260e083013560c08201526101008084013560e0830152610120808501358284015261014091508185013581840152506101608085013567ffffffffffffffff808211156118ed57600080fd5b6118fb8f8b848a01016119e1565b8486015261018093508387013591508082111561191757600080fd5b6119258f8b848a01016119e1565b838601526101a092508287013591508082111561194157600080fd5b61194f8f8b848a01016119e1565b848601528587013593508084111561196657600080fd5b50506119768d89848801016119e1565b9083015250865250509282019290820190600101611801565b505050505092915050565b60008083601f8401126119ab578182fd5b50813567ffffffffffffffff8111156119c2578182fd5b6020830191508360208285010111156119da57600080fd5b9250929050565b600082601f8301126119f1578081fd5b813567ffffffffffffffff811115611a07578182fd5b611a3860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161205d565b9150808252836020828501011115611a4f57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611a79578081fd5b8135610bab816120d4565b600060208284031215611a95578081fd5b8151610bab816120d4565b60008060008060808587031215611ab5578283fd5b843567ffffffffffffffff80821115611acc578485fd5b611ad8888389016117d2565b95506020870135915080821115611aed578485fd5b50611afa87828801611768565b935050604085013591506060850135611b12816120d4565b939692955090935050565b600080600080600060a08688031215611b34578081fd5b853567ffffffffffffffff80821115611b4b578283fd5b611b5789838a016117d2565b9650602088013595506040880135915080821115611b73578283fd5b50611b8088828901611768565b935050606086013591506080860135611b98816120d4565b809150509295509295909350565b600060208284031215611bb7578081fd5b81518015158114610bab578182fd5b60008060208385031215611bd8578182fd5b823567ffffffffffffffff811115611bee578283fd5b611bfa8582860161199a565b90969095509350505050565b600080600060408486031215611c1a578283fd5b833567ffffffffffffffff811115611c30578384fd5b611c3c8682870161199a565b909790965060209590950135949350505050565b600060a0828403128015611c62578182fd5b8015611c6c578182fd5b50611c7760a061205d565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215611cbe578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611cf78160208601602086016120a4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251611d3b8184602087016120a4565b9190910192915050565b7f455243373231546f6b656e28616464726573732c75696e7432353629000000008152601c0190565b7f7472616e7366657228616464726573732c75696e743235362900000000000000815260190190565b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610bab6020830184611cdf565b6060810160048510611ead57fe5b938152602081019290925260409091015290565b6060810160088510611ead57fe5b600060608252611ee3606083018651611cc5565b6020850151611ef56080840182611cc5565b506040850151611f0860a0840182611cc5565b506060850151611f1b60c0840182611cc5565b50608085015160e083015260a0850151610100818185015260c08701519150610120828186015260e0880151925061014083818701528289015193506101609250838387015281890151935061018091508382870152808901519350506101c06101a08181880152611f91610220880186611cdf565b848b015195507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09450848882030183890152611fcd8187611cdf565b925050828a0151945083878303016101e0880152611feb8286611cdf565b9250808a015194505050818582030161020086015261200a8184611cdf565b91505085602085015283810360408501526120258186611cdf565b979650505050505050565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561207c57600080fd5b604052919050565b600067ffffffffffffffff82111561209a578081fd5b5060209081020190565b60005b838110156120bf5781810151838201526020016120a7565b838111156120ce576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461061157600080fdfea365627a7a72315820afeb88c9cc19090963cb885eb76d709ca1a151f8f73996031898e2b50578a89b6c6578706572696d656e74616cf564736f6c634300050c0040'; /** * Approves the respective proxy for a given asset to transfer tokens on the Forwarder contract's behalf. * This is necessary because an order fee denominated in the maker asset (i.e. a percentage fee) is sent by the @@ -216,28 +216,58 @@ export class ForwarderContract extends BaseContract { }, }; /** - * Withdraws assets from this contract. The contract formerly required a ZRX balance in order - * to function optimally, and this function allows the ZRX to be withdrawn by owner. - * It may also be used to withdraw assets that were accidentally sent to this contract. + * Attempt to buy makerAssetBuyAmount of makerAsset by selling ETH provided with transaction. + * The Forwarder may *fill* more than makerAssetBuyAmount of the makerAsset so that it can + * pay takerFees where takerFeeAssetData == makerAssetData (i.e. percentage fees). + * Any ETH not spent will be refunded to sender. */ - public withdrawAsset = { + public marketBuyOrdersWithEth = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. - * @param assetData Byte array encoded for the respective asset proxy. - * @param amount Amount of ERC20 token to withdraw. + * @param orders Array of order specifications used containing desired + * makerAsset and WETH as takerAsset. + * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. + * @param signatures Proofs that orders have been created by makers. + * @param feePercentage Percentage of WETH sold that will payed as fee to + * forwarding contract feeRecipient. + * @param feeRecipient Address that will receive ETH when orders are filled. * @param txData Additional data for transaction * @returns The hash of the transaction */ async sendTransactionAsync( - assetData: string, - amount: BigNumber, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + makerAssetBuyAmount: BigNumber, + signatures: string[], + feePercentage: BigNumber, + feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); + assert.isArray('signatures', signatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + [orders, makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase()], + ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -256,23 +286,56 @@ export class ForwarderContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param assetData Byte array encoded for the respective asset proxy. - * @param amount Amount of ERC20 token to withdraw. + * @param orders Array of order specifications used containing desired + * makerAsset and WETH as takerAsset. + * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. + * @param signatures Proofs that orders have been created by makers. + * @param feePercentage Percentage of WETH sold that will payed as fee to + * forwarding contract feeRecipient. + * @param feeRecipient Address that will receive ETH when orders are filled. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - assetData: string, - amount: BigNumber, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + makerAssetBuyAmount: BigNumber, + signatures: string[], + feePercentage: BigNumber, + feeRecipient: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); + assert.isArray('signatures', signatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); const self = (this as any) as ForwarderContract; - const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, amount, txData); + const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync( + orders, + makerAssetBuyAmount, + signatures, + feePercentage, + feeRecipient.toLowerCase(), + txData, + ); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -287,20 +350,49 @@ export class ForwarderContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param assetData Byte array encoded for the respective asset proxy. - * @param amount Amount of ERC20 token to withdraw. + * @param orders Array of order specifications used containing desired + * makerAsset and WETH as takerAsset. + * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. + * @param signatures Proofs that orders have been created by makers. + * @param feePercentage Percentage of WETH sold that will payed as fee to + * forwarding contract feeRecipient. + * @param feeRecipient Address that will receive ETH when orders are filled. * @param txData Additional data for transaction * @returns The hash of the transaction */ async estimateGasAsync( - assetData: string, - amount: BigNumber, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + makerAssetBuyAmount: BigNumber, + signatures: string[], + feePercentage: BigNumber, + feeRecipient: string, txData?: Partial | undefined, ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); + assert.isArray('signatures', signatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + [orders, makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase()], + ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -317,29 +409,88 @@ export class ForwarderContract extends BaseContract { return gas; }, async validateAndSendTransactionAsync( - assetData: string, - amount: BigNumber, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + makerAssetBuyAmount: BigNumber, + signatures: string[], + feePercentage: BigNumber, + feeRecipient: string, txData?: Partial | undefined, ): Promise { - await (this as any).withdrawAsset.callAsync(assetData, amount, txData); - const txHash = await (this as any).withdrawAsset.sendTransactionAsync(assetData, amount, txData); + await (this as any).marketBuyOrdersWithEth.callAsync( + orders, + makerAssetBuyAmount, + signatures, + feePercentage, + feeRecipient, + txData, + ); + const txHash = await (this as any).marketBuyOrdersWithEth.sendTransactionAsync( + orders, + makerAssetBuyAmount, + signatures, + feePercentage, + feeRecipient, + txData, + ); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param assetData Byte array encoded for the respective asset proxy. - * @param amount Amount of ERC20 token to withdraw. + * @param orders Array of order specifications used containing desired + * makerAsset and WETH as takerAsset. + * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. + * @param signatures Proofs that orders have been created by makers. + * @param feePercentage Percentage of WETH sold that will payed as fee to + * forwarding contract feeRecipient. + * @param feeRecipient Address that will receive ETH when orders are filled. + * @returns wethSpentAmount Amount of WETH spent on the given set of orders.makerAssetAcquiredAmount Amount of maker asset acquired from the given set of orders.ethFeePaid Amount of ETH spent on the given forwarder fee. */ async callAsync( - assetData: string, - amount: BigNumber, + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + makerAssetBuyAmount: BigNumber, + signatures: string[], + feePercentage: BigNumber, + feeRecipient: string, callData: Partial = {}, defaultBlock?: BlockParam, - ): Promise { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); + ): Promise<[BigNumber, BigNumber, BigNumber]> { + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); + assert.isArray('signatures', signatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -349,7 +500,10 @@ export class ForwarderContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); + const encodedData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + [orders, makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase()], + ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -369,9 +523,11 @@ export class ForwarderContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + ); // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber, BigNumber]>(rawCallResult); // tslint:enable boolean-naming return result; }, @@ -379,104 +535,47 @@ export class ForwarderContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). - * @param assetData Byte array encoded for the respective asset proxy. - * @param amount Amount of ERC20 token to withdraw. + * @param orders Array of order specifications used containing desired + * makerAsset and WETH as takerAsset. + * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. + * @param signatures Proofs that orders have been created by makers. + * @param feePercentage Percentage of WETH sold that will payed as fee to + * forwarding contract feeRecipient. + * @param feeRecipient Address that will receive ETH when orders are filled. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(assetData: string, amount: BigNumber): string { - assert.isString('assetData', assetData); - assert.isBigNumber('amount', amount); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [ - assetData, - amount, - ]); - return abiEncodedTransactionData; - }, - /** - * Decode the ABI-encoded transaction data into its input arguments - * @param callData The ABI-encoded transaction data - * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. - */ - getABIDecodedTransactionData(callData: string): [string, BigNumber] { - const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); - // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); - return abiDecodedCallData; - }, - /** - * Decode the ABI-encoded return data from a transaction - * @param returnData the data returned after transaction execution - * @returns An array representing the output results in order. Keynames of nested structs are preserved. - */ - getABIDecodedReturnData(returnData: string): void { - const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); - // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); - return abiDecodedReturnData; - }, - /** - * Returns the 4 byte function selector as a hex string. - */ - getSelector(): string { - const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); - return abiEncoder.getSelector(); - }, - }; - public owner = { - /** - * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an - * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas - * since they don't modify state. - */ - async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ - schemas.addressSchema, - schemas.numberSchema, - schemas.jsNumber, - ]); - if (defaultBlock !== undefined) { - assert.isBlockParam('defaultBlock', defaultBlock); - } + getABIEncodedTransactionData( + orders: Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + makerAssetBuyAmount: BigNumber, + signatures: string[], + feePercentage: BigNumber, + feeRecipient: string, + ): string { + assert.isArray('orders', orders); + assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); + assert.isArray('signatures', signatures); + assert.isBigNumber('feePercentage', feePercentage); + assert.isString('feeRecipient', feeRecipient); const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('owner()', []); - const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( - { - to: self.address, - ...callData, - data: encodedData, - }, - self._web3Wrapper.getContractDefaults(), + const abiEncodedTransactionData = self._strictEncodeArguments( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + [orders, makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase()], ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('owner()'); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData(): string { - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); return abiEncodedTransactionData; }, /** @@ -484,11 +583,59 @@ export class ForwarderContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): void { + getABIDecodedTransactionData( + callData: string, + ): [ + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + BigNumber, + string[], + BigNumber, + string + ] { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + ); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode(callData); + const abiDecodedCallData = abiEncoder.strictDecode< + [ + Array<{ + makerAddress: string; + takerAddress: string; + feeRecipientAddress: string; + senderAddress: string; + makerAssetAmount: BigNumber; + takerAssetAmount: BigNumber; + makerFee: BigNumber; + takerFee: BigNumber; + expirationTimeSeconds: BigNumber; + salt: BigNumber; + makerAssetData: string; + takerAssetData: string; + makerFeeAssetData: string; + takerFeeAssetData: string; + }>, + BigNumber, + string[], + BigNumber, + string + ] + >(callData); return abiDecodedCallData; }, /** @@ -496,11 +643,15 @@ export class ForwarderContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): string { + getABIDecodedReturnData(returnData: string): [BigNumber, BigNumber, BigNumber] { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + ); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber, BigNumber]>( + returnData, + ); return abiDecodedReturnData; }, /** @@ -508,23 +659,22 @@ export class ForwarderContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('owner()'); + const abiEncoder = self._lookupAbiEncoder( + 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + ); return abiEncoder.getSelector(); }, }; /** - * Attempt to buy makerAssetBuyAmount of makerAsset by selling ETH provided with transaction. - * The Forwarder may *fill* more than makerAssetBuyAmount of the makerAsset so that it can - * pay takerFees where takerFeeAssetData == makerAssetData (i.e. percentage fees). - * Any ETH not spent will be refunded to sender. + * Purchases as much of orders' makerAssets as possible by selling as much of the ETH value sent + * as possible, accounting for order and forwarder fees. */ - public marketBuyOrdersWithEth = { + public marketSellOrdersWithEth = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. * @param orders Array of order specifications used containing desired * makerAsset and WETH as takerAsset. - * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. * @param signatures Proofs that orders have been created by makers. * @param feePercentage Percentage of WETH sold that will payed as fee to * forwarding contract feeRecipient. @@ -549,21 +699,19 @@ export class ForwarderContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - makerAssetBuyAmount: BigNumber, signatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { assert.isArray('orders', orders); - assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); assert.isArray('signatures', signatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); const self = (this as any) as ForwarderContract; const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', - [orders, makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase()], + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feePercentage, feeRecipient.toLowerCase()], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -585,7 +733,6 @@ export class ForwarderContract extends BaseContract { * If the transaction was mined, but reverted, an error is thrown. * @param orders Array of order specifications used containing desired * makerAsset and WETH as takerAsset. - * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. * @param signatures Proofs that orders have been created by makers. * @param feePercentage Percentage of WETH sold that will payed as fee to * forwarding contract feeRecipient. @@ -611,7 +758,6 @@ export class ForwarderContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - makerAssetBuyAmount: BigNumber, signatures: string[], feePercentage: BigNumber, feeRecipient: string, @@ -620,14 +766,12 @@ export class ForwarderContract extends BaseContract { timeoutMs?: number, ): PromiseWithTransactionHash { assert.isArray('orders', orders); - assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); assert.isArray('signatures', signatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); const self = (this as any) as ForwarderContract; - const txHashPromise = self.marketBuyOrdersWithEth.sendTransactionAsync( + const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync( orders, - makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase(), @@ -649,7 +793,6 @@ export class ForwarderContract extends BaseContract { * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. * @param orders Array of order specifications used containing desired * makerAsset and WETH as takerAsset. - * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. * @param signatures Proofs that orders have been created by makers. * @param feePercentage Percentage of WETH sold that will payed as fee to * forwarding contract feeRecipient. @@ -674,21 +817,19 @@ export class ForwarderContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - makerAssetBuyAmount: BigNumber, signatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { assert.isArray('orders', orders); - assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); assert.isArray('signatures', signatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); const self = (this as any) as ForwarderContract; const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', - [orders, makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase()], + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feePercentage, feeRecipient.toLowerCase()], ); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -722,23 +863,20 @@ export class ForwarderContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - makerAssetBuyAmount: BigNumber, signatures: string[], feePercentage: BigNumber, feeRecipient: string, txData?: Partial | undefined, ): Promise { - await (this as any).marketBuyOrdersWithEth.callAsync( + await (this as any).marketSellOrdersWithEth.callAsync( orders, - makerAssetBuyAmount, signatures, feePercentage, feeRecipient, txData, ); - const txHash = await (this as any).marketBuyOrdersWithEth.sendTransactionAsync( + const txHash = await (this as any).marketSellOrdersWithEth.sendTransactionAsync( orders, - makerAssetBuyAmount, signatures, feePercentage, feeRecipient, @@ -752,7 +890,6 @@ export class ForwarderContract extends BaseContract { * since they don't modify state. * @param orders Array of order specifications used containing desired * makerAsset and WETH as takerAsset. - * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. * @param signatures Proofs that orders have been created by makers. * @param feePercentage Percentage of WETH sold that will payed as fee to * forwarding contract feeRecipient. @@ -776,7 +913,6 @@ export class ForwarderContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - makerAssetBuyAmount: BigNumber, signatures: string[], feePercentage: BigNumber, feeRecipient: string, @@ -784,7 +920,6 @@ export class ForwarderContract extends BaseContract { defaultBlock?: BlockParam, ): Promise<[BigNumber, BigNumber, BigNumber]> { assert.isArray('orders', orders); - assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); assert.isArray('signatures', signatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); @@ -798,8 +933,8 @@ export class ForwarderContract extends BaseContract { } const self = (this as any) as ForwarderContract; const encodedData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', - [orders, makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase()], + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feePercentage, feeRecipient.toLowerCase()], ); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { @@ -821,7 +956,7 @@ export class ForwarderContract extends BaseContract { } BaseContract._throwIfCallResultIsRevertError(rawCallResult); const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', ); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber, BigNumber]>(rawCallResult); @@ -834,7 +969,6 @@ export class ForwarderContract extends BaseContract { * to create a 0x transaction (see protocol spec for more details). * @param orders Array of order specifications used containing desired * makerAsset and WETH as takerAsset. - * @param makerAssetBuyAmount Desired amount of makerAsset to purchase. * @param signatures Proofs that orders have been created by makers. * @param feePercentage Percentage of WETH sold that will payed as fee to * forwarding contract feeRecipient. @@ -858,20 +992,18 @@ export class ForwarderContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - makerAssetBuyAmount: BigNumber, signatures: string[], feePercentage: BigNumber, feeRecipient: string, ): string { assert.isArray('orders', orders); - assert.isBigNumber('makerAssetBuyAmount', makerAssetBuyAmount); assert.isArray('signatures', signatures); assert.isBigNumber('feePercentage', feePercentage); assert.isString('feeRecipient', feeRecipient); const self = (this as any) as ForwarderContract; const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', - [orders, makerAssetBuyAmount, signatures, feePercentage, feeRecipient.toLowerCase()], + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', + [orders, signatures, feePercentage, feeRecipient.toLowerCase()], ); return abiEncodedTransactionData; }, @@ -899,14 +1031,13 @@ export class ForwarderContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - BigNumber, string[], BigNumber, string ] { const self = (this as any) as ForwarderContract; const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', ); // tslint:disable boolean-naming const abiDecodedCallData = abiEncoder.strictDecode< @@ -927,7 +1058,6 @@ export class ForwarderContract extends BaseContract { makerFeeAssetData: string; takerFeeAssetData: string; }>, - BigNumber, string[], BigNumber, string @@ -943,7 +1073,7 @@ export class ForwarderContract extends BaseContract { getABIDecodedReturnData(returnData: string): [BigNumber, BigNumber, BigNumber] { const self = (this as any) as ForwarderContract; const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', ); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber, BigNumber]>( @@ -957,59 +1087,108 @@ export class ForwarderContract extends BaseContract { getSelector(): string { const self = (this as any) as ForwarderContract; const abiEncoder = self._lookupAbiEncoder( - 'marketBuyOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],uint256,bytes[],uint256,address)', + 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', ); return abiEncoder.getSelector(); }, }; - /** - * Purchases as much of orders' makerAssets as possible by selling as much of the ETH value sent - * as possible, accounting for order and forwarder fees. - */ - public marketSellOrdersWithEth = { + public owner = { /** - * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write - * Ethereum operation and will cost gas. - * @param orders Array of order specifications used containing desired - * makerAsset and WETH as takerAsset. - * @param signatures Proofs that orders have been created by makers. - * @param feePercentage Percentage of WETH sold that will payed as fee to - * forwarding contract feeRecipient. - * @param feeRecipient Address that will receive ETH when orders are filled. - * @param txData Additional data for transaction - * @returns The hash of the transaction + * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an + * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas + * since they don't modify state. */ - async sendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - signatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); + async callAsync(callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ + schemas.addressSchema, + schemas.numberSchema, + schemas.jsNumber, + ]); + if (defaultBlock !== undefined) { + assert.isBlockParam('defaultBlock', defaultBlock); + } const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feePercentage, feeRecipient.toLowerCase()], + const encodedData = self._strictEncodeArguments('owner()', []); + const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( + { + to: self.address, + ...callData, + data: encodedData, + }, + self._web3Wrapper.getContractDefaults(), ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(): string { + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('owner()', []); + return abiEncodedTransactionData; + }, + /** + * Decode the ABI-encoded transaction data into its input arguments + * @param callData The ABI-encoded transaction data + * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. + */ + getABIDecodedTransactionData(callData: string): void { + const self = (this as any) as ForwarderContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const abiDecodedCallData = abiEncoder.strictDecode(callData); + return abiDecodedCallData; + }, + /** + * Decode the ABI-encoded return data from a transaction + * @param returnData the data returned after transaction execution + * @returns An array representing the output results in order. Keynames of nested structs are preserved. + */ + getABIDecodedReturnData(returnData: string): string { + const self = (this as any) as ForwarderContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + // tslint:disable boolean-naming + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); + return abiDecodedReturnData; + }, + /** + * Returns the 4 byte function selector as a hex string. + */ + getSelector(): string { + const self = (this as any) as ForwarderContract; + const abiEncoder = self._lookupAbiEncoder('owner()'); + return abiEncoder.getSelector(); + }, + }; + public transferOwnership = { + /** + * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write + * Ethereum operation and will cost gas. + * @param txData Additional data for transaction + * @returns The hash of the transaction + */ + async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); + const self = (this as any) as ForwarderContract; + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1028,52 +1207,19 @@ export class ForwarderContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. - * @param orders Array of order specifications used containing desired - * makerAsset and WETH as takerAsset. - * @param signatures Proofs that orders have been created by makers. - * @param feePercentage Percentage of WETH sold that will payed as fee to - * forwarding contract feeRecipient. - * @param feeRecipient Address that will receive ETH when orders are filled. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - signatures: string[], - feePercentage: BigNumber, - feeRecipient: string, + newOwner: string, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); + assert.isString('newOwner', newOwner); const self = (this as any) as ForwarderContract; - const txHashPromise = self.marketSellOrdersWithEth.sendTransactionAsync( - orders, - signatures, - feePercentage, - feeRecipient.toLowerCase(), - txData, - ); + const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1088,46 +1234,13 @@ export class ForwarderContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. - * @param orders Array of order specifications used containing desired - * makerAsset and WETH as takerAsset. - * @param signatures Proofs that orders have been created by makers. - * @param feePercentage Percentage of WETH sold that will payed as fee to - * forwarding contract feeRecipient. - * @param feeRecipient Address that will receive ETH when orders are filled. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - signatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - txData?: Partial | undefined, - ): Promise { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); + async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { + assert.isString('newOwner', newOwner); const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feePercentage, feeRecipient.toLowerCase()], - ); + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1143,83 +1256,18 @@ export class ForwarderContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - signatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - txData?: Partial | undefined, - ): Promise { - await (this as any).marketSellOrdersWithEth.callAsync( - orders, - signatures, - feePercentage, - feeRecipient, - txData, - ); - const txHash = await (this as any).marketSellOrdersWithEth.sendTransactionAsync( - orders, - signatures, - feePercentage, - feeRecipient, - txData, - ); + async validateAndSendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { + await (this as any).transferOwnership.callAsync(newOwner, txData); + const txHash = await (this as any).transferOwnership.sendTransactionAsync(newOwner, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. - * @param orders Array of order specifications used containing desired - * makerAsset and WETH as takerAsset. - * @param signatures Proofs that orders have been created by makers. - * @param feePercentage Percentage of WETH sold that will payed as fee to - * forwarding contract feeRecipient. - * @param feeRecipient Address that will receive ETH when orders are filled. - * @returns wethSpentAmount Amount of WETH spent on the given set of orders.makerAssetAcquiredAmount Amount of maker asset acquired from the given set of orders.ethFeePaid Amount of ETH spent on the given forwarder fee. */ - async callAsync( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - signatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - callData: Partial = {}, - defaultBlock?: BlockParam, - ): Promise<[BigNumber, BigNumber, BigNumber]> { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); + async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { + assert.isString('newOwner', newOwner); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1229,10 +1277,7 @@ export class ForwarderContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feePercentage, feeRecipient.toLowerCase()], - ); + const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1241,67 +1286,35 @@ export class ForwarderContract extends BaseContract { }, self._web3Wrapper.getContractDefaults(), ); - callDataWithDefaults.from = callDataWithDefaults.from - ? callDataWithDefaults.from.toLowerCase() - : callDataWithDefaults.from; - let rawCallResult; - try { - rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); - } catch (err) { - BaseContract._throwIfThrownErrorIsRevertError(err); - throw err; - } - BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', - ); - // tslint:disable boolean-naming - const result = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber, BigNumber]>(rawCallResult); - // tslint:enable boolean-naming - return result; - }, - /** - * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before - * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used - * to create a 0x transaction (see protocol spec for more details). - * @param orders Array of order specifications used containing desired - * makerAsset and WETH as takerAsset. - * @param signatures Proofs that orders have been created by makers. - * @param feePercentage Percentage of WETH sold that will payed as fee to - * forwarding contract feeRecipient. - * @param feeRecipient Address that will receive ETH when orders are filled. - * @returns The ABI encoded transaction data as a string - */ - getABIEncodedTransactionData( - orders: Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - signatures: string[], - feePercentage: BigNumber, - feeRecipient: string, - ): string { - assert.isArray('orders', orders); - assert.isArray('signatures', signatures); - assert.isBigNumber('feePercentage', feePercentage); - assert.isString('feeRecipient', feeRecipient); - const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', - [orders, signatures, feePercentage, feeRecipient.toLowerCase()], - ); + callDataWithDefaults.from = callDataWithDefaults.from + ? callDataWithDefaults.from.toLowerCase() + : callDataWithDefaults.from; + let rawCallResult; + try { + rawCallResult = await self._web3Wrapper.callAsync(callDataWithDefaults, defaultBlock); + } catch (err) { + BaseContract._throwIfThrownErrorIsRevertError(err); + throw err; + } + BaseContract._throwIfCallResultIsRevertError(rawCallResult); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + // tslint:disable boolean-naming + const result = abiEncoder.strictDecodeReturnValue(rawCallResult); + // tslint:enable boolean-naming + return result; + }, + /** + * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before + * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used + * to create a 0x transaction (see protocol spec for more details). + * @returns The ABI encoded transaction data as a string + */ + getABIEncodedTransactionData(newOwner: string): string { + assert.isString('newOwner', newOwner); + const self = (this as any) as ForwarderContract; + const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ + newOwner.toLowerCase(), + ]); return abiEncodedTransactionData; }, /** @@ -1309,57 +1322,11 @@ export class ForwarderContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData( - callData: string, - ): [ - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - string[], - BigNumber, - string - ] { + getABIDecodedTransactionData(callData: string): [string] { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', - ); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode< - [ - Array<{ - makerAddress: string; - takerAddress: string; - feeRecipientAddress: string; - senderAddress: string; - makerAssetAmount: BigNumber; - takerAssetAmount: BigNumber; - makerFee: BigNumber; - takerFee: BigNumber; - expirationTimeSeconds: BigNumber; - salt: BigNumber; - makerAssetData: string; - takerAssetData: string; - makerFeeAssetData: string; - takerFeeAssetData: string; - }>, - string[], - BigNumber, - string - ] - >(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); return abiDecodedCallData; }, /** @@ -1367,15 +1334,11 @@ export class ForwarderContract extends BaseContract { * @param returnData the data returned after transaction execution * @returns An array representing the output results in order. Keynames of nested structs are preserved. */ - getABIDecodedReturnData(returnData: string): [BigNumber, BigNumber, BigNumber] { + getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', - ); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); // tslint:disable boolean-naming - const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue<[BigNumber, BigNumber, BigNumber]>( - returnData, - ); + const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; }, /** @@ -1383,23 +1346,33 @@ export class ForwarderContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder( - 'marketSellOrdersWithEth((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,bytes,bytes)[],bytes[],uint256,address)', - ); + const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); return abiEncoder.getSelector(); }, }; - public transferOwnership = { + /** + * Withdraws assets from this contract. The contract formerly required a ZRX balance in order + * to function optimally, and this function allows the ZRX to be withdrawn by owner. + * It may also be used to withdraw assets that were accidentally sent to this contract. + */ + public withdrawAsset = { /** * Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write * Ethereum operation and will cost gas. + * @param assetData Byte array encoded for the respective asset proxy. + * @param amount Amount of ERC20 token to withdraw. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async sendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); + async sendTransactionAsync( + assetData: string, + amount: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1418,19 +1391,23 @@ export class ForwarderContract extends BaseContract { /** * Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. * If the transaction was mined, but reverted, an error is thrown. + * @param assetData Byte array encoded for the respective asset proxy. + * @param amount Amount of ERC20 token to withdraw. * @param txData Additional data for transaction * @param pollingIntervalMs Interval at which to poll for success * @returns A promise that resolves when the transaction is successful */ awaitTransactionSuccessAsync( - newOwner: string, + assetData: string, + amount: BigNumber, txData?: Partial, pollingIntervalMs?: number, timeoutMs?: number, ): PromiseWithTransactionHash { - assert.isString('newOwner', newOwner); + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); const self = (this as any) as ForwarderContract; - const txHashPromise = self.transferOwnership.sendTransactionAsync(newOwner.toLowerCase(), txData); + const txHashPromise = self.withdrawAsset.sendTransactionAsync(assetData, amount, txData); return new PromiseWithTransactionHash( txHashPromise, (async (): Promise => { @@ -1445,13 +1422,20 @@ export class ForwarderContract extends BaseContract { }, /** * Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + * @param assetData Byte array encoded for the respective asset proxy. + * @param amount Amount of ERC20 token to withdraw. * @param txData Additional data for transaction * @returns The hash of the transaction */ - async estimateGasAsync(newOwner: string, txData?: Partial | undefined): Promise { - assert.isString('newOwner', newOwner); + async estimateGasAsync( + assetData: string, + amount: BigNumber, + txData?: Partial | undefined, + ): Promise { + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); const txDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1467,18 +1451,30 @@ export class ForwarderContract extends BaseContract { const gas = await self._web3Wrapper.estimateGasAsync(txDataWithDefaults); return gas; }, - async validateAndSendTransactionAsync(newOwner: string, txData?: Partial | undefined): Promise { - await (this as any).transferOwnership.callAsync(newOwner, txData); - const txHash = await (this as any).transferOwnership.sendTransactionAsync(newOwner, txData); + async validateAndSendTransactionAsync( + assetData: string, + amount: BigNumber, + txData?: Partial | undefined, + ): Promise { + await (this as any).withdrawAsset.callAsync(assetData, amount, txData); + const txHash = await (this as any).withdrawAsset.sendTransactionAsync(assetData, amount, txData); return txHash; }, /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an * Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas * since they don't modify state. + * @param assetData Byte array encoded for the respective asset proxy. + * @param amount Amount of ERC20 token to withdraw. */ - async callAsync(newOwner: string, callData: Partial = {}, defaultBlock?: BlockParam): Promise { - assert.isString('newOwner', newOwner); + async callAsync( + assetData: string, + amount: BigNumber, + callData: Partial = {}, + defaultBlock?: BlockParam, + ): Promise { + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); assert.doesConformToSchema('callData', callData, schemas.callDataSchema, [ schemas.addressSchema, schemas.numberSchema, @@ -1488,7 +1484,7 @@ export class ForwarderContract extends BaseContract { assert.isBlockParam('defaultBlock', defaultBlock); } const self = (this as any) as ForwarderContract; - const encodedData = self._strictEncodeArguments('transferOwnership(address)', [newOwner.toLowerCase()]); + const encodedData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [assetData, amount]); const callDataWithDefaults = await BaseContract._applyDefaultsToTxDataAsync( { to: self.address, @@ -1508,7 +1504,7 @@ export class ForwarderContract extends BaseContract { throw err; } BaseContract._throwIfCallResultIsRevertError(rawCallResult); - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); // tslint:disable boolean-naming const result = abiEncoder.strictDecodeReturnValue(rawCallResult); // tslint:enable boolean-naming @@ -1518,13 +1514,17 @@ export class ForwarderContract extends BaseContract { * Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before * sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used * to create a 0x transaction (see protocol spec for more details). + * @param assetData Byte array encoded for the respective asset proxy. + * @param amount Amount of ERC20 token to withdraw. * @returns The ABI encoded transaction data as a string */ - getABIEncodedTransactionData(newOwner: string): string { - assert.isString('newOwner', newOwner); + getABIEncodedTransactionData(assetData: string, amount: BigNumber): string { + assert.isString('assetData', assetData); + assert.isBigNumber('amount', amount); const self = (this as any) as ForwarderContract; - const abiEncodedTransactionData = self._strictEncodeArguments('transferOwnership(address)', [ - newOwner.toLowerCase(), + const abiEncodedTransactionData = self._strictEncodeArguments('withdrawAsset(bytes,uint256)', [ + assetData, + amount, ]); return abiEncodedTransactionData; }, @@ -1533,11 +1533,11 @@ export class ForwarderContract extends BaseContract { * @param callData The ABI-encoded transaction data * @returns An array representing the input arguments in order. Keynames of nested structs are preserved. */ - getABIDecodedTransactionData(callData: string): [string] { + getABIDecodedTransactionData(callData: string): [string, BigNumber] { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); // tslint:disable boolean-naming - const abiDecodedCallData = abiEncoder.strictDecode<[string]>(callData); + const abiDecodedCallData = abiEncoder.strictDecode<[string, BigNumber]>(callData); return abiDecodedCallData; }, /** @@ -1547,7 +1547,7 @@ export class ForwarderContract extends BaseContract { */ getABIDecodedReturnData(returnData: string): void { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); // tslint:disable boolean-naming const abiDecodedReturnData = abiEncoder.strictDecodeReturnValue(returnData); return abiDecodedReturnData; @@ -1557,7 +1557,7 @@ export class ForwarderContract extends BaseContract { */ getSelector(): string { const self = (this as any) as ForwarderContract; - const abiEncoder = self._lookupAbiEncoder('transferOwnership(address)'); + const abiEncoder = self._lookupAbiEncoder('withdrawAsset(bytes,uint256)'); return abiEncoder.getSelector(); }, }; @@ -1647,18 +1647,27 @@ export class ForwarderContract extends BaseContract { public static ABI(): ContractAbi { const abi = [ { - constant: false, inputs: [ { - name: 'assetData', + name: '_exchange', + type: 'address', + }, + { + name: '_wethAssetData', type: 'bytes', }, ], - name: 'approveMakerAssetProxy', outputs: [], payable: false, stateMutability: 'nonpayable', - type: 'function', + type: 'constructor', + }, + { + inputs: [], + outputs: [], + payable: true, + stateMutability: 'payable', + type: 'fallback', }, { constant: false, @@ -1667,31 +1676,13 @@ export class ForwarderContract extends BaseContract { name: 'assetData', type: 'bytes', }, - { - name: 'amount', - type: 'uint256', - }, ], - name: 'withdrawAsset', + name: 'approveMakerAssetProxy', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function', }, - { - constant: true, - inputs: [], - name: 'owner', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, { constant: false, inputs: [ @@ -1890,6 +1881,20 @@ export class ForwarderContract extends BaseContract { stateMutability: 'payable', type: 'function', }, + { + constant: true, + inputs: [], + name: 'owner', + outputs: [ + { + name: '', + type: 'address', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, { constant: false, inputs: [ @@ -1905,27 +1910,22 @@ export class ForwarderContract extends BaseContract { type: 'function', }, { + constant: false, inputs: [ { - name: '_exchange', - type: 'address', + name: 'assetData', + type: 'bytes', }, { - name: '_wethAssetData', - type: 'bytes', + name: 'amount', + type: 'uint256', }, ], + name: 'withdrawAsset', outputs: [], payable: false, stateMutability: 'nonpayable', - type: 'constructor', - }, - { - inputs: [], - outputs: [], - payable: true, - stateMutability: 'payable', - type: 'fallback', + type: 'function', }, ] as ContractAbi; return abi; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts index c84a9e9fba..881627ca56 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_asset_proxy.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts index dfc2526eaf..b85cfd32ac 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts index cf236cb184..841d110f08 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts index 8b8bdc372d..0e5d6aa2b6 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/multi_asset_proxy.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -62,7 +56,7 @@ export interface MultiAssetProxyAssetProxyRegisteredEventArgs extends DecodedLog // tslint:disable-next-line:class-name export class MultiAssetProxyContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639ad2674411610081578063c585bb931161005b578063c585bb9314610789578063d39de6e9146107bc578063f2fde38b14610814576100d4565b80639ad26744146106cc578063ae25532e14610705578063b918161114610742576100d4565b806360704108116100b2578063607041081461065257806370712939146106915780638da5cb5b146106c4576100d4565b80633fd3c9971461059857806342f1181e14610600578063494503d414610635575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e400000000000000000000000000000000000000000000000000000000811415610592573360005260026020526040600020546101a5577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b600480350180356020600482030660448210171561022e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c19494e56414c49445f41535345545f444154415f4c454e475448000000604052600060605260646000fd5b602081018201368111156102ad577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c16494e56414c49445f41535345545f444154415f454e44000000000000604052600060605260646000fd5b5050602481013560448201356044820183016020810335925060448201840160208103358085031561034a577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f4c454e4754485f4d49534d4154434800000000000000000000000000604052600060605260646000fd5b5060646000803760806004526000936064359060200285805b82811015610587578086013584810281868204148615176103ef577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1055494e543235365f4f564552464c4f57000000000000000000000000604052600060605260646000fd5b60649081528287013589018b01604481019250018135600481101561049e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1e4c454e4754485f475245415445525f5448414e5f335f5245515549526040527f454400000000000000000000000000000000000000000000000000000000000060605260646000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008235168b8103156104df57809b508b608452600160a45260406084205495505b5084610556577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1a41535345545f50524f58595f444f45535f4e4f545f45584953540000604052600060605260646000fd5b60208101836084376000808260a401600080895af1925050508061057e573d6000803e3d6000fd5b50602001610363565b505050505050505050005b50600080fd5b6105d7600480360360208110156105ae57600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610847565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6106336004803603602081101561061657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661086f565b005b6105d76004803603602081101561064b57600080fd5b5035610a5b565b6105d76004803603602081101561066857600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610a8f565b610633600480360360208110156106a757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad9565b6105d7610dcc565b610633600480360360408110156106e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de8565b61070d611199565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6107756004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111cf565b604080519115158252519081900360200190f35b6106336004803603602081101561079f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111e4565b6107c4611446565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108005781810151838201526020016107e8565b505050509050019250505060405180910390f35b6106336004803603602081101561082a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114b5565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561098a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b60038181548110610a6857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff16610bf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600354811015610d85578173ffffffffffffffffffffffffffffffffffffffff1660038281548110610c6d57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610d7d57600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610cc557fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cf857fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d77908261159b565b50610d85565b600101610c3f565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff16610f0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6003548110610f7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660038281548110610f9657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161461102457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061109f57fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff90921691839081106110d257fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611151908261159b565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4d756c746941737365742875696e743235365b5d2c62797465735b5d290000008152905190819003601d0190205b90565b60026020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b257600080fd5b505afa1580156112c6573d6000803e3d6000fd5b505050506040513d60208110156112dc57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000811660009081526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561139657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41535345545f50524f58595f414c52454144595f455849535453000000000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000821660008181526001602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915582519384529083015280517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c031949281900390910190a1505050565b606060038054806020026020016040519081016040528092919081815260200182805480156114ab57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611480575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461153b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561159857600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b8154818355818111156115bf576000838152602090206115bf9181019083016115c4565b505050565b6111cc91905b808211156115de57600081556001016115ca565b509056fea265627a7a723158200dd575aabad105efa33c7fd81c8138bd93a96c032f8c1fe8e341296c93f1231564736f6c634300050b0032'; + '0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639ad2674411610081578063c585bb931161005b578063c585bb9314610789578063d39de6e9146107bc578063f2fde38b14610814576100d4565b80639ad26744146106cc578063ae25532e14610705578063b918161114610742576100d4565b806360704108116100b2578063607041081461065257806370712939146106915780638da5cb5b146106c4576100d4565b80633fd3c9971461059857806342f1181e14610600578063494503d414610635575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e400000000000000000000000000000000000000000000000000000000811415610592573360005260026020526040600020546101a5577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b600480350180356020600482030660448210171561022e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c19494e56414c49445f41535345545f444154415f4c454e475448000000604052600060605260646000fd5b602081018201368111156102ad577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c16494e56414c49445f41535345545f444154415f454e44000000000000604052600060605260646000fd5b5050602481013560448201356044820183016020810335925060448201840160208103358085031561034a577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f4c454e4754485f4d49534d4154434800000000000000000000000000604052600060605260646000fd5b5060646000803760806004526000936064359060200285805b82811015610587578086013584810281868204148615176103ef577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1055494e543235365f4f564552464c4f57000000000000000000000000604052600060605260646000fd5b60649081528287013589018b01604481019250018135600481101561049e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1e4c454e4754485f475245415445525f5448414e5f335f5245515549526040527f454400000000000000000000000000000000000000000000000000000000000060605260646000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008235168b8103156104df57809b508b608452600160a45260406084205495505b5084610556577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1a41535345545f50524f58595f444f45535f4e4f545f45584953540000604052600060605260646000fd5b60208101836084376000808260a401600080895af1925050508061057e573d6000803e3d6000fd5b50602001610363565b505050505050505050005b50600080fd5b6105d7600480360360208110156105ae57600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610847565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6106336004803603602081101561061657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661086f565b005b6105d76004803603602081101561064b57600080fd5b5035610a5b565b6105d76004803603602081101561066857600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610a8f565b610633600480360360208110156106a757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad9565b6105d7610dcc565b610633600480360360408110156106e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de8565b61070d611199565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6107756004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111cf565b604080519115158252519081900360200190f35b6106336004803603602081101561079f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111e4565b6107c4611446565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108005781810151838201526020016107e8565b505050509050019250505060405180910390f35b6106336004803603602081101561082a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114b5565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561098a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b60038181548110610a6857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff16610bf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600354811015610d85578173ffffffffffffffffffffffffffffffffffffffff1660038281548110610c6d57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610d7d57600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610cc557fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cf857fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d77908261159b565b50610d85565b600101610c3f565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff16610f0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6003548110610f7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660038281548110610f9657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161461102457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061109f57fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff90921691839081106110d257fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611151908261159b565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4d756c746941737365742875696e743235365b5d2c62797465735b5d290000008152905190819003601d0190205b90565b60026020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b257600080fd5b505afa1580156112c6573d6000803e3d6000fd5b505050506040513d60208110156112dc57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000811660009081526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561139657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41535345545f50524f58595f414c52454144595f455849535453000000000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000821660008181526001602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915582519384529083015280517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c031949281900390910190a1505050565b606060038054806020026020016040519081016040528092919081815260200182805480156114ab57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611480575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461153b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561159857600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b8154818355818111156115bf576000838152602090206115bf9181019083016115c4565b505050565b6111cc91905b808211156115de57600081556001016115ca565b509056fea265627a7a72315820ff218c9e47c47135d1028b03281d63826ba3569217fc501ee67c0661fa98fc5164736f6c634300050b0032'; public assetProxies = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts index 3d937dfda6..e185502bd8 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts b/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts index fc47480ae6..6fc8eacc22 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/static_call_proxy.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -29,7 +29,7 @@ import * as ethers from 'ethers'; // tslint:disable-next-line:class-name export class StaticCallProxyContract extends BaseContract { public static deployedBytecode = - '0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a85e59e41461003b578063ae25532e146100d3575b600080fd5b6100d16004803603608081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610110565b005b6100db6103a5565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6000606060006101656004898990508a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6103c5169050565b806020019051606081101561017957600080fd5b8151602083018051604051929492938301929190846401000000008211156101a057600080fd5b9083019060208201858111156101b557600080fd5b82516401000000008111828201881017156101cf57600080fd5b82525081516020918201929091019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050925092509250600060608473ffffffffffffffffffffffffffffffffffffffff16846040518082805190602001908083835b602083106102ac57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161026f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461030c576040519150601f19603f3d011682016040523d82523d6000602084013e610311565b606091505b50915091508161032357805160208201fd5b8051602082012083811461039857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f554e45585045435445445f5354415449435f43414c4c5f524553554c54000000604482015290519081900360640190fd5b5050505050505050505050565b600060405180806104b06021913960210190506040518091039020905090565b6060818311156103e3576103e36103de60008585610408565b6104a7565b83518211156103fc576103fc6103de6001848751610408565b50819003910190815290565b6060632800659560e01b8484846040516024018084600781111561042857fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe53746174696343616c6c28616464726573732c62797465732c6279746573333229a265627a7a723158209e5f715f925fb97fe41b0c320890ab694fc266b8ff42216a1cf39bc6f63f277064736f6c634300050b0032'; + '0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a85e59e41461003b578063ae25532e146100d3575b600080fd5b6100d16004803603608081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610110565b005b6100db6103a5565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6000606060006101656004898990508a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6103c5169050565b806020019051606081101561017957600080fd5b8151602083018051604051929492938301929190846401000000008211156101a057600080fd5b9083019060208201858111156101b557600080fd5b82516401000000008111828201881017156101cf57600080fd5b82525081516020918201929091019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050925092509250600060608473ffffffffffffffffffffffffffffffffffffffff16846040518082805190602001908083835b602083106102ac57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161026f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461030c576040519150601f19603f3d011682016040523d82523d6000602084013e610311565b606091505b50915091508161032357805160208201fd5b8051602082012083811461039857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f554e45585045435445445f5354415449435f43414c4c5f524553554c54000000604482015290519081900360640190fd5b5050505050505050505050565b600060405180806104b06021913960210190506040518091039020905090565b6060818311156103e3576103e36103de60008585610408565b6104a7565b83518211156103fc576103fc6103de6001848751610408565b50819003910190815290565b6060632800659560e01b8484846040516024018084600781111561042857fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe53746174696343616c6c28616464726573732c62797465732c6279746573333229a265627a7a72315820c55cf13cfcaaf322238d786911313ce7d45854692241ae9b56709bdbfed4f54c64736f6c634300050b0032'; /** * Makes a staticcall to a target address and verifies that the data returned matches the expected return data. */ diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts index b41f62be0c..e4a800545a 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -71,7 +65,7 @@ export interface WETH9WithdrawalEventArgs extends DecodedLogArgs { // tslint:disable-next-line:class-name export class WETH9Contract extends BaseContract { public static deployedBytecode = - '0x6080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a7230582081c23d4174793ecf936226f6e14ff2fb98b19393169fe83f41525bddb3b4e1d80029'; + '0x6080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a723058201ebe888a6b56dd871f599adbe0f19ec3c29c28aec0685788dfac9b37a99fc9d20029'; public name = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an diff --git a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts index b11022135a..c97abbc617 100644 --- a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts +++ b/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; @@ -55,7 +49,7 @@ export interface ZRXTokenApprovalEventArgs extends DecodedLogArgs { // tslint:disable-next-line:class-name export class ZRXTokenContract extends BaseContract { public static deployedBytecode = - '0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a7230582021a287948d4a4ece4960098426bc8a1ec320609ee5fd69dffc612ad2b9db514e0029'; + '0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a72305820d984298155c708a8164f1cbf83c7275bcc6851dd082c0404013c1f4463b238fa0029'; public name = { /** * Sends a read-only call to the contract method. Returns the result that would happen if one were to send an diff --git a/packages/abi-gen-wrappers/src/index.ts b/packages/abi-gen-wrappers/src/index.ts index 5de39bd259..31a9875352 100644 --- a/packages/abi-gen-wrappers/src/index.ts +++ b/packages/abi-gen-wrappers/src/index.ts @@ -76,6 +76,9 @@ export { ExchangeCancelUpToEventArgs, ExchangeAssetProxyRegisteredEventArgs, ExchangeContract, + ExchangeProtocolFeeCollectorAddressEventArgs, + ExchangeProtocolFeeMultiplierEventArgs, + ExchangeTransactionExecutionEventArgs, } from './generated-wrappers/exchange'; export { ForwarderContract } from './generated-wrappers/forwarder'; export { IAssetProxyContract } from './generated-wrappers/i_asset_proxy'; diff --git a/packages/abi-gen/CHANGELOG.json b/packages/abi-gen/CHANGELOG.json index 556623cd7e..73b8d81211 100644 --- a/packages/abi-gen/CHANGELOG.json +++ b/packages/abi-gen/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "4.3.0", + "version": "4.4.0-beta.0", "changes": [ { "note": "Add `getSelector` method to all functions", @@ -8,6 +8,15 @@ } ] }, + { + "version": "4.3.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "version": "4.2.1", "changes": [ diff --git a/packages/abi-gen/CHANGELOG.md b/packages/abi-gen/CHANGELOG.md index 81a34c78f5..d39e9f04dd 100644 --- a/packages/abi-gen/CHANGELOG.md +++ b/packages/abi-gen/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.3.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v4.2.1 - _September 17, 2019_ * Redirect to `evmExecAsync` to use local EVM instead of eth_call for pure functions (#2108) diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index 1b4bb181dc..79d7557875 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -1,6 +1,6 @@ { "name": "@0x/abi-gen", - "version": "4.2.1", + "version": "4.3.0-beta.0", "engines": { "node": ">=6.12" }, @@ -61,14 +61,14 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/abi-gen/README.md", "dependencies": { - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", "@types/toposort": "^2.0.1", "chalk": "^2.3.0", "change-case": "^3.0.2", "cli-format": "^3.0.9", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "glob": "^7.1.2", "handlebars": "^4.1.2", "lodash": "^4.17.11", @@ -79,13 +79,13 @@ "yargs": "^10.0.3" }, "devDependencies": { - "@0x/base-contract": "^5.4.0", - "@0x/contracts-gen": "^1.0.15", - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", - "@0x/subproviders": "^5.0.4", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contracts-gen": "^1.1.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", "@0x/tslint-config": "^3.0.1", - "@0x/web3-wrapper": "^6.0.13", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@types/glob": "5.0.35", "@types/mkdirp": "^0.5.2", "@types/mocha": "^5.2.7", diff --git a/packages/abi-gen/templates/TypeScript/contract.handlebars b/packages/abi-gen/templates/TypeScript/contract.handlebars index 55aaa4d941..d7dd089680 100644 --- a/packages/abi-gen/templates/TypeScript/contract.handlebars +++ b/packages/abi-gen/templates/TypeScript/contract.handlebars @@ -2,8 +2,6 @@ // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable import { BaseContract{{#if events}}, - EventCallback, - IndexedFilterValues, SubscriptionManager{{/if}},PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { @@ -22,7 +20,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen/test-cli/output/typescript/abi_gen_dummy.ts b/packages/abi-gen/test-cli/output/typescript/abi_gen_dummy.ts index efdc6ae012..891360ff20 100644 --- a/packages/abi-gen/test-cli/output/typescript/abi_gen_dummy.ts +++ b/packages/abi-gen/test-cli/output/typescript/abi_gen_dummy.ts @@ -1,13 +1,7 @@ // tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma // tslint:disable:whitespace no-unbound-method no-trailing-whitespace // tslint:disable:no-unused-variable -import { - BaseContract, - EventCallback, - IndexedFilterValues, - SubscriptionManager, - PromiseWithTransactionHash, -} from '@0x/base-contract'; +import { BaseContract, SubscriptionManager, PromiseWithTransactionHash } from '@0x/base-contract'; import { schemas } from '@0x/json-schemas'; import { BlockParam, @@ -25,7 +19,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { EventCallback, IndexedFilterValues, SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen/test-cli/output/typescript/lib_dummy.ts b/packages/abi-gen/test-cli/output/typescript/lib_dummy.ts index e060513c2a..2d71295e25 100644 --- a/packages/abi-gen/test-cli/output/typescript/lib_dummy.ts +++ b/packages/abi-gen/test-cli/output/typescript/lib_dummy.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/abi-gen/test-cli/output/typescript/test_lib_dummy.ts b/packages/abi-gen/test-cli/output/typescript/test_lib_dummy.ts index 38e699849b..64e97b2d51 100644 --- a/packages/abi-gen/test-cli/output/typescript/test_lib_dummy.ts +++ b/packages/abi-gen/test-cli/output/typescript/test_lib_dummy.ts @@ -18,7 +18,7 @@ import { SupportedProvider, } from 'ethereum-types'; import { BigNumber, classUtils, logUtils, providerUtils } from '@0x/utils'; -import { SimpleContractArtifact } from '@0x/types'; +import { SimpleContractArtifact, EventCallback, IndexedFilterValues } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; import { assert } from '@0x/assert'; import * as ethers from 'ethers'; diff --git a/packages/assert/CHANGELOG.json b/packages/assert/CHANGELOG.json index 5249681b7a..6989684858 100644 --- a/packages/assert/CHANGELOG.json +++ b/packages/assert/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "2.1.6", diff --git a/packages/assert/CHANGELOG.md b/packages/assert/CHANGELOG.md index 6a02e6afaa..00a806a0fd 100644 --- a/packages/assert/CHANGELOG.md +++ b/packages/assert/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v2.1.6 - _September 17, 2019_ * Dependencies updated @@ -32,6 +36,7 @@ CHANGELOG ## v2.1.0 - _July 13, 2019_ * Add new assertions: `isArray`, `isBlockParam` and `isNumberOrBigNumber` (#1823) + * Add `isNumberLike()` assertion (#1819) ## v2.0.10 - _May 10, 2019_ diff --git a/packages/assert/package.json b/packages/assert/package.json index 98a68e3856..3aaf8a1e60 100644 --- a/packages/assert/package.json +++ b/packages/assert/package.json @@ -1,6 +1,6 @@ { "name": "@0x/assert", - "version": "2.1.6", + "version": "2.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -45,9 +45,9 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/json-schemas": "^4.0.2", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", "lodash": "^4.17.11", "valid-url": "^1.0.9" }, diff --git a/packages/asset-buyer/CHANGELOG.json b/packages/asset-buyer/CHANGELOG.json index 7c5385420b..9d121469fe 100644 --- a/packages/asset-buyer/CHANGELOG.json +++ b/packages/asset-buyer/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "6.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "6.1.14", diff --git a/packages/asset-buyer/CHANGELOG.md b/packages/asset-buyer/CHANGELOG.md index 5f518c3d44..1e4dbe84fb 100644 --- a/packages/asset-buyer/CHANGELOG.md +++ b/packages/asset-buyer/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.2.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v6.1.14 - _September 17, 2019_ * Dependencies updated diff --git a/packages/asset-buyer/docs/reference.mdx b/packages/asset-buyer/docs/reference.mdx index 98d8548cd9..bab6f5c6a6 100644 --- a/packages/asset-buyer/docs/reference.mdx +++ b/packages/asset-buyer/docs/reference.mdx @@ -1,70 +1,233 @@ -# Interface: ZeroExProvider +# Class: AssetBuyer -The interface for the provider used internally by 0x libraries -Any property we use from any SupportedProvider should we explicitly -add here +## Constructors -## Properties -### `Optional` isMetaMask -• **isMetaMask**? : *undefined | false | true* +\+ **new AssetBuyer**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orderProvider`: [OrderProvider](#interface-orderprovider), `options`: `Partial`): *[AssetBuyer](#class-assetbuyer)* + +*Defined in [asset-buyer/src/asset_buyer.ts:83](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L83)* + +Instantiates a new AssetBuyer instance + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | +`orderProvider` | [OrderProvider](#interface-orderprovider) | - | An object that conforms to OrderProvider, see type for definition. | +`options` | `Partial` | {} | Initialization options for the AssetBuyer. See type definition for details. | + +**Returns:** *[AssetBuyer](#class-assetbuyer)* + +An instance of AssetBuyer + +## Properties + +### expiryBufferSeconds + +• **expiryBufferSeconds**: *number* -*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L31)* +*Defined in [asset-buyer/src/asset_buyer.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L40)* ___ -### `Optional` isParity +### networkId -• **isParity**? : *undefined | false | true* +• **networkId**: *number* -*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L32)* +*Defined in [asset-buyer/src/asset_buyer.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L38)* ___ -### `Optional` isZeroExProvider +### orderProvider -• **isZeroExProvider**? : *undefined | false | true* +• **orderProvider**: *[OrderProvider](#interface-orderprovider)* + +*Defined in [asset-buyer/src/asset_buyer.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L37)* + +___ + +### orderRefreshIntervalMs + +• **orderRefreshIntervalMs**: *number* + +*Defined in [asset-buyer/src/asset_buyer.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L39)* + +___ + +### provider + +• **provider**: *`ZeroExProvider`* -*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L30)* +*Defined in [asset-buyer/src/asset_buyer.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L36)* ## Methods -### `Optional` enable +### executeBuyQuoteAsync -▸ **enable**(): *`Promise`* +▸ **executeBuyQuoteAsync**(`buyQuote`: [BuyQuote](#interface-buyquote), `options`: `Partial`): *`Promise`* -*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L34)* +*Defined in [asset-buyer/src/asset_buyer.ts:226](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L226)* -**Returns:** *`Promise`* +Given a BuyQuote and desired rate, attempt to execute the buy. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`buyQuote` | [BuyQuote](#interface-buyquote) | - | An object that conforms to BuyQuote. See type definition for more information. | +`options` | `Partial` | {} | Options for the execution of the BuyQuote. See type definition for more information. | + +**Returns:** *`Promise`* + +A promise of the txHash. ___ -### sendAsync +### getAvailableAssetDatasAsync -▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* +▸ **getAvailableAssetDatasAsync**(): *`Promise`* + +*Defined in [asset-buyer/src/asset_buyer.ts:300](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L300)* + +Get the asset data of all assets that are purchaseable with ether token (wETH) in the order provider passed in at init. + +**Returns:** *`Promise`* + +An array of asset data strings that can be purchased using wETH. + +___ + +### getBuyQuoteAsync + +▸ **getBuyQuoteAsync**(`assetData`: string, `assetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* + +*Defined in [asset-buyer/src/asset_buyer.ts:125](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L125)* -*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L35)* +Get a `BuyQuote` containing all information relevant to fulfilling a buy given a desired assetData. +You can then pass the `BuyQuote` to `executeBuyQuoteAsync` to execute the buy. **Parameters:** -Name | Type | ------- | ------ | -`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | -`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | The assetData of the desired asset to buy (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`assetBuyAmount` | `BigNumber` | - | The amount of asset to buy. | +`options` | `Partial` | {} | Options for the request. See type definition for more information. | -**Returns:** *void* +**Returns:** *`Promise`* + +An object that conforms to BuyQuote that satisfies the request. See type definition for more information. ___ -### `Optional` stop +### getBuyQuoteForERC20TokenAddressAsync -▸ **stop**(): *void* +▸ **getBuyQuoteForERC20TokenAddressAsync**(`tokenAddress`: string, `assetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* -*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L33)* +*Defined in [asset-buyer/src/asset_buyer.ts:173](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L173)* -**Returns:** *void* +Get a `BuyQuote` containing all information relevant to fulfilling a buy given a desired ERC20 token address. +You can then pass the `BuyQuote` to `executeBuyQuoteAsync` to execute the buy. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`tokenAddress` | string | - | The ERC20 token address. | +`assetBuyAmount` | `BigNumber` | - | The amount of asset to buy. | +`options` | `Partial` | {} | Options for the request. See type definition for more information. | + +**Returns:** *`Promise`* + +An object that conforms to BuyQuote that satisfies the request. See type definition for more information. + +___ + +### getLiquidityForAssetDataAsync + +▸ **getLiquidityForAssetDataAsync**(`assetData`: string, `options`: `Partial`): *`Promise`* + +*Defined in [asset-buyer/src/asset_buyer.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L192)* + +Returns information about available liquidity for an asset +Does not factor in slippage or fees + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | The assetData of the desired asset to buy (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`options` | `Partial` | {} | Options for the request. See type definition for more information. | + +**Returns:** *`Promise`* + +An object that conforms to LiquidityForAssetData that satisfies the request. See type definition for more information. + +___ + +### getOrdersAndFillableAmountsAsync + +▸ **getOrdersAndFillableAmountsAsync**(`assetData`: string, `shouldForceOrderRefresh`: boolean): *`Promise`* + +*Defined in [asset-buyer/src/asset_buyer.ts:309](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L309)* + +Grab orders from the map, if there is a miss or it is time to refresh, fetch and process the orders + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | The assetData of the desired asset to buy (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | +`shouldForceOrderRefresh` | boolean | If set to true, new orders and state will be fetched instead of waiting for the next orderRefreshIntervalMs. | + +**Returns:** *`Promise`* + +___ + +### `Static` getAssetBuyerForProvidedOrders + +▸ **getAssetBuyerForProvidedOrders**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orders`: `SignedOrder`[], `options`: `Partial`): *[AssetBuyer](#class-assetbuyer)* + +*Defined in [asset-buyer/src/asset_buyer.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L53)* + +Instantiates a new AssetBuyer instance given existing liquidity in the form of orders and feeOrders. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | +`orders` | `SignedOrder`[] | - | A non-empty array of objects that conform to SignedOrder. All orders must have the same makerAssetData and takerAssetData (WETH). | +`options` | `Partial` | {} | Initialization options for the AssetBuyer. See type definition for details. | + +**Returns:** *[AssetBuyer](#class-assetbuyer)* + +An instance of AssetBuyer + +___ + +### `Static` getAssetBuyerForStandardRelayerAPIUrl + +▸ **getAssetBuyerForStandardRelayerAPIUrl**(`supportedProvider`: [SupportedProvider](#supportedprovider), `sraApiUrl`: string, `options`: `Partial`): *[AssetBuyer](#class-assetbuyer)* + +*Defined in [asset-buyer/src/asset_buyer.ts:72](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/asset_buyer.ts#L72)* + +Instantiates a new AssetBuyer instance given a [Standard Relayer API](https://github.com/0xProject/standard-relayer-api) endpoint + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | +`sraApiUrl` | string | - | The standard relayer API base HTTP url you would like to source orders from. | +`options` | `Partial` | {} | Initialization options for the AssetBuyer. See type definition for details. | + +**Returns:** *[AssetBuyer](#class-assetbuyer)* + +An instance of AssetBuyer
@@ -79,7 +242,7 @@ Error class representing insufficient asset liquidity \+ **new InsufficientAssetLiquidityError**(`amountAvailableToFill`: `BigNumber`): *[InsufficientAssetLiquidityError](#class-insufficientassetliquidityerror)* -*Defined in [asset-buyer/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/errors.ts#L12)* +*Defined in [asset-buyer/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/errors.ts#L12)* **Parameters:** @@ -95,7 +258,7 @@ Name | Type | Description | • **amountAvailableToFill**: *`BigNumber`* -*Defined in [asset-buyer/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/errors.ts#L12)* +*Defined in [asset-buyer/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/errors.ts#L12)* The amount availabe to fill (in base units) factoring in slippage. @@ -155,7 +318,7 @@ ___ \+ **new BasicOrderProvider**(`orders`: `SignedOrder`[]): *[BasicOrderProvider](#class-basicorderprovider)* -*Defined in [asset-buyer/src/order_providers/basic_order_provider.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/basic_order_provider.ts#L9)* +*Defined in [asset-buyer/src/order_providers/basic_order_provider.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/basic_order_provider.ts#L9)* Instantiates a new BasicOrderProvider instance @@ -175,7 +338,7 @@ An instance of BasicOrderProvider • **orders**: *`SignedOrder`[]* -*Defined in [asset-buyer/src/order_providers/basic_order_provider.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/basic_order_provider.ts#L9)* +*Defined in [asset-buyer/src/order_providers/basic_order_provider.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/basic_order_provider.ts#L9)* ## Methods @@ -183,7 +346,7 @@ An instance of BasicOrderProvider ▸ **getAvailableMakerAssetDatasAsync**(`takerAssetData`: string): *`Promise`* -*Defined in [asset-buyer/src/order_providers/basic_order_provider.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/basic_order_provider.ts#L37)* +*Defined in [asset-buyer/src/order_providers/basic_order_provider.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/basic_order_provider.ts#L37)* Given a taker asset data string, return all availabled paired maker asset data strings. @@ -203,7 +366,7 @@ ___ ▸ **getOrdersAsync**(`orderProviderRequest`: [OrderProviderRequest](#interface-orderproviderrequest)): *`Promise`* -*Defined in [asset-buyer/src/order_providers/basic_order_provider.ts:24](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/basic_order_provider.ts#L24)* +*Defined in [asset-buyer/src/order_providers/basic_order_provider.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/basic_order_provider.ts#L24)* Given an object that conforms to OrderFetcherRequest, return the corresponding OrderProviderResponse that satisfies the request. @@ -233,7 +396,7 @@ An instance of OrderProviderResponse. See type for more information. \+ **new StandardRelayerAPIOrderProvider**(`apiUrl`: string, `networkId`: number): *[StandardRelayerAPIOrderProvider](#class-standardrelayerapiorderprovider)* -*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L48)* +*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L48)* Instantiates a new StandardRelayerAPIOrderProvider instance @@ -254,7 +417,7 @@ An instance of StandardRelayerAPIOrderProvider • **apiUrl**: *string* -*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L17)* +*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L17)* ___ @@ -262,7 +425,7 @@ ___ • **networkId**: *number* -*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L18)* +*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L18)* ## Methods @@ -270,7 +433,7 @@ ___ ▸ **getAvailableMakerAssetDatasAsync**(`takerAssetData`: string): *`Promise`* -*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L91)* +*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L91)* Given a taker asset data string, return all availabled paired maker asset data strings. @@ -290,7 +453,7 @@ ___ ▸ **getOrdersAsync**(`orderProviderRequest`: [OrderProviderRequest](#interface-orderproviderrequest)): *`Promise`* -*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L67)* +*Defined in [asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts:67](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/order_providers/standard_relayer_api_order_provider.ts#L67)* Given an object that conforms to OrderProviderRequest, return the corresponding OrderProviderResponse that satisfies the request. @@ -317,7 +480,7 @@ Possible error messages thrown by an AssetBuyer instance or associated static me • **AssetUnavailable**: = "ASSET_UNAVAILABLE" -*Defined in [asset-buyer/src/types.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L122)* +*Defined in [asset-buyer/src/types.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L122)* ___ @@ -325,7 +488,7 @@ ___ • **InsufficientAssetLiquidity**: = "INSUFFICIENT_ASSET_LIQUIDITY" -*Defined in [asset-buyer/src/types.ts:118](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L118)* +*Defined in [asset-buyer/src/types.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L118)* ___ @@ -333,7 +496,7 @@ ___ • **InsufficientZrxLiquidity**: = "INSUFFICIENT_ZRX_LIQUIDITY" -*Defined in [asset-buyer/src/types.ts:119](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L119)* +*Defined in [asset-buyer/src/types.ts:119](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L119)* ___ @@ -341,7 +504,7 @@ ___ • **InvalidOrderProviderResponse**: = "INVALID_ORDER_PROVIDER_RESPONSE" -*Defined in [asset-buyer/src/types.ts:121](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L121)* +*Defined in [asset-buyer/src/types.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L121)* ___ @@ -349,7 +512,7 @@ ___ • **NoAddressAvailable**: = "NO_ADDRESS_AVAILABLE" -*Defined in [asset-buyer/src/types.ts:120](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L120)* +*Defined in [asset-buyer/src/types.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L120)* ___ @@ -357,7 +520,7 @@ ___ • **NoEtherTokenContractFound**: = "NO_ETHER_TOKEN_CONTRACT_FOUND" -*Defined in [asset-buyer/src/types.ts:115](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L115)* +*Defined in [asset-buyer/src/types.ts:115](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L115)* ___ @@ -365,7 +528,7 @@ ___ • **NoZrxTokenContractFound**: = "NO_ZRX_TOKEN_CONTRACT_FOUND" -*Defined in [asset-buyer/src/types.ts:116](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L116)* +*Defined in [asset-buyer/src/types.ts:116](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L116)* ___ @@ -373,7 +536,7 @@ ___ • **SignatureRequestDenied**: = "SIGNATURE_REQUEST_DENIED" -*Defined in [asset-buyer/src/types.ts:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L123)* +*Defined in [asset-buyer/src/types.ts:123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L123)* ___ @@ -381,7 +544,7 @@ ___ • **StandardRelayerApiError**: = "STANDARD_RELAYER_API_ERROR" -*Defined in [asset-buyer/src/types.ts:117](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L117)* +*Defined in [asset-buyer/src/types.ts:117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L117)* ___ @@ -389,7 +552,7 @@ ___ • **TransactionValueTooLow**: = "TRANSACTION_VALUE_TOO_LOW" -*Defined in [asset-buyer/src/types.ts:124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L124)* +*Defined in [asset-buyer/src/types.ts:124](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L124)*
@@ -423,7 +586,7 @@ ___ -
+ @@ -444,7 +607,7 @@ worstCaseQuoteInfo: Info about the worst case price for the asset. • **assetBuyAmount**: *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L48)* +*Defined in [asset-buyer/src/types.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L48)* ___ @@ -452,7 +615,7 @@ ___ • **assetData**: *string* -*Defined in [asset-buyer/src/types.ts:47](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L47)* +*Defined in [asset-buyer/src/types.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L47)* ___ @@ -460,7 +623,7 @@ ___ • **bestCaseQuoteInfo**: *[BuyQuoteInfo](#class-buyquoteinfo)* -*Defined in [asset-buyer/src/types.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L52)* +*Defined in [asset-buyer/src/types.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L52)* ___ @@ -468,7 +631,7 @@ ___ • **feeOrders**: *`SignedOrder`[]* -*Defined in [asset-buyer/src/types.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L50)* +*Defined in [asset-buyer/src/types.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L50)* ___ @@ -476,7 +639,7 @@ ___ • **feePercentage**? : *undefined | number* -*Defined in [asset-buyer/src/types.ts:51](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L51)* +*Defined in [asset-buyer/src/types.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L51)* ___ @@ -484,7 +647,7 @@ ___ • **orders**: *`SignedOrder`[]* -*Defined in [asset-buyer/src/types.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L49)* +*Defined in [asset-buyer/src/types.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L49)* ___ @@ -492,7 +655,7 @@ ___ • **worstCaseQuoteInfo**: *[BuyQuoteInfo](#class-buyquoteinfo)* -*Defined in [asset-buyer/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L53)* +*Defined in [asset-buyer/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L53)*
@@ -511,7 +674,7 @@ feeRecipient: The address where affiliate fees are sent. Defaults to null addres • **ethAmount**? : *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L93)* +*Defined in [asset-buyer/src/types.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L93)* ___ @@ -519,7 +682,7 @@ ___ • **feeRecipient**: *string* -*Defined in [asset-buyer/src/types.ts:97](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L97)* +*Defined in [asset-buyer/src/types.ts:97](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L97)* ___ @@ -527,7 +690,7 @@ ___ • **gasLimit**? : *undefined | number* -*Defined in [asset-buyer/src/types.ts:95](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L95)* +*Defined in [asset-buyer/src/types.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L95)* ___ @@ -535,7 +698,7 @@ ___ • **gasPrice**? : *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L96)* +*Defined in [asset-buyer/src/types.ts:96](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L96)* ___ @@ -543,7 +706,7 @@ ___ • **takerAddress**? : *undefined | string* -*Defined in [asset-buyer/src/types.ts:94](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L94)* +*Defined in [asset-buyer/src/types.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L94)*
@@ -560,7 +723,7 @@ totalEthAmount: The total amount of eth required to complete the buy (filling or • **assetEthAmount**: *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:62](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L62)* +*Defined in [asset-buyer/src/types.ts:62](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L62)* ___ @@ -568,7 +731,7 @@ ___ • **feeEthAmount**: *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L63)* +*Defined in [asset-buyer/src/types.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L63)* ___ @@ -576,7 +739,7 @@ ___ • **totalEthAmount**: *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:64](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L64)* +*Defined in [asset-buyer/src/types.ts:64](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L64)*
@@ -593,7 +756,7 @@ slippagePercentage: The percentage buffer to add to account for slippage. Affect • **feePercentage**: *number* -*Defined in [asset-buyer/src/types.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L73)* +*Defined in [asset-buyer/src/types.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L73)* ___ @@ -601,7 +764,7 @@ ___ • **shouldForceOrderRefresh**: *boolean* -*Defined in [asset-buyer/src/types.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L74)* +*Defined in [asset-buyer/src/types.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L74)* ___ @@ -609,7 +772,7 @@ ___ • **slippagePercentage**: *number* -*Defined in [asset-buyer/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L75)* +*Defined in [asset-buyer/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L75)*
@@ -624,7 +787,7 @@ Represents available liquidity for a given assetData • **ethValueAvailableInWei**: *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:141](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L141)* +*Defined in [asset-buyer/src/types.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L141)* ___ @@ -632,7 +795,7 @@ ___ • **tokensAvailableInBaseUnits**: *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:140](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L140)* +*Defined in [asset-buyer/src/types.ts:140](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L140)*
@@ -652,13 +815,23 @@ remainingFillableMakerAssetAmount: The amount of the makerAsset that is availabl ## Properties +### chainId + +• **chainId**: *number* + + + +Defined in types/lib/index.d.ts:4 + +___ + ### exchangeAddress • **exchangeAddress**: *string* -Defined in types/lib/index.d.ts:14 +Defined in types/lib/index.d.ts:5 ___ @@ -668,7 +841,7 @@ ___ -Defined in types/lib/index.d.ts:16 +Defined in types/lib/index.d.ts:14 ___ @@ -678,7 +851,7 @@ ___ -Defined in types/lib/index.d.ts:15 +Defined in types/lib/index.d.ts:8 ___ @@ -688,7 +861,7 @@ ___ -Defined in types/lib/index.d.ts:5 +Defined in types/lib/index.d.ts:6 ___ @@ -698,7 +871,7 @@ ___ -Defined in types/lib/index.d.ts:9 +Defined in types/lib/index.d.ts:10 ___ @@ -708,7 +881,7 @@ ___ -Defined in types/lib/index.d.ts:11 +Defined in types/lib/index.d.ts:16 ___ @@ -718,7 +891,17 @@ ___ -Defined in types/lib/index.d.ts:7 +Defined in types/lib/index.d.ts:12 + +___ + +### makerFeeAssetData + +• **makerFeeAssetData**: *string* + + + +Defined in types/lib/index.d.ts:18 ___ @@ -726,7 +909,7 @@ ___ • **remainingFillableMakerAssetAmount**? : *`BigNumber`* -*Defined in [asset-buyer/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L26)* +*Defined in [asset-buyer/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L26)* ___ @@ -736,7 +919,7 @@ ___ -Defined in types/lib/index.d.ts:13 +Defined in types/lib/index.d.ts:15 ___ @@ -746,7 +929,7 @@ ___ -Defined in types/lib/index.d.ts:4 +Defined in types/lib/index.d.ts:9 ___ @@ -756,7 +939,7 @@ ___ -Defined in types/lib/index.d.ts:33 +Defined in types/lib/index.d.ts:22 ___ @@ -766,7 +949,7 @@ ___ -Defined in types/lib/index.d.ts:6 +Defined in types/lib/index.d.ts:7 ___ @@ -776,7 +959,7 @@ ___ -Defined in types/lib/index.d.ts:10 +Defined in types/lib/index.d.ts:11 ___ @@ -786,7 +969,7 @@ ___ -Defined in types/lib/index.d.ts:12 +Defined in types/lib/index.d.ts:17 ___ @@ -796,7 +979,17 @@ ___ -Defined in types/lib/index.d.ts:8 +Defined in types/lib/index.d.ts:13 + +___ + +### takerFeeAssetData + +• **takerFeeAssetData**: *string* + + + +Defined in types/lib/index.d.ts:19
@@ -845,7 +1038,7 @@ Defined in types/lib/index.d.ts:8 • **isEIP1193**: *boolean* -*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L73)* +*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* ## Methods @@ -853,7 +1046,7 @@ Defined in types/lib/index.d.ts:8 ▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* -*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L75)* +*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* **Parameters:** @@ -877,7 +1070,7 @@ ___ ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L74)* +*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* **Parameters:** @@ -911,7 +1104,7 @@ Name | Type | ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L14)* +*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* **Parameters:** @@ -935,7 +1128,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -943,7 +1136,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -951,7 +1144,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -959,7 +1152,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -972,7 +1165,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -980,7 +1173,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -993,7 +1186,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -1001,7 +1194,7 @@ ___ • **id**: *number* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -1009,7 +1202,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -1017,7 +1210,7 @@ ___ • **result**: *any* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -1060,6 +1253,8 @@ ___ + + @@ -1076,7 +1271,7 @@ This interface allowed sending synchonous requests, support for which was later ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L45)* +*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* **Parameters:** @@ -1092,7 +1287,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L44)* +*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* **Parameters:** @@ -1118,7 +1313,7 @@ before the first attempts to conform to EIP1193 ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L54)* +*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* **Parameters:** @@ -1144,7 +1339,7 @@ however it does not conform entirely. ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L63)* +*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* **Parameters:** @@ -1157,238 +1352,88 @@ Name | Type |
-# Class: AssetBuyer +# Interface: ZeroExProvider +The interface for the provider used internally by 0x libraries +Any property we use from any SupportedProvider should we explicitly +add here -## Constructors - - - -\+ **new AssetBuyer**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orderProvider`: [OrderProvider](#interface-orderprovider), `options`: `Partial`): *[AssetBuyer](#class-assetbuyer)* - -*Defined in [asset-buyer/src/asset_buyer.ts:83](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L83)* - -Instantiates a new AssetBuyer instance - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | -`orderProvider` | [OrderProvider](#interface-orderprovider) | - | An object that conforms to OrderProvider, see type for definition. | -`options` | `Partial` | {} | Initialization options for the AssetBuyer. See type definition for details. | - -**Returns:** *[AssetBuyer](#class-assetbuyer)* - -An instance of AssetBuyer - -## Properties - -### expiryBufferSeconds - -• **expiryBufferSeconds**: *number* - -*Defined in [asset-buyer/src/asset_buyer.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L40)* - -___ - -### networkId - -• **networkId**: *number* - -*Defined in [asset-buyer/src/asset_buyer.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L38)* -___ +## Properties -### orderProvider +### `Optional` isMetaMask -• **orderProvider**: *[OrderProvider](#interface-orderprovider)* +• **isMetaMask**? : *undefined | false | true* -*Defined in [asset-buyer/src/asset_buyer.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L37)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ -### orderRefreshIntervalMs +### `Optional` isParity -• **orderRefreshIntervalMs**: *number* +• **isParity**? : *undefined | false | true* -*Defined in [asset-buyer/src/asset_buyer.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L39)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ -### provider +### `Optional` isZeroExProvider -• **provider**: *`ZeroExProvider`* +• **isZeroExProvider**? : *undefined | false | true* -*Defined in [asset-buyer/src/asset_buyer.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L36)* +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* ## Methods -### executeBuyQuoteAsync - -▸ **executeBuyQuoteAsync**(`buyQuote`: [BuyQuote](#interface-buyquote), `options`: `Partial`): *`Promise`* - -*Defined in [asset-buyer/src/asset_buyer.ts:226](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L226)* - -Given a BuyQuote and desired rate, attempt to execute the buy. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`buyQuote` | [BuyQuote](#interface-buyquote) | - | An object that conforms to BuyQuote. See type definition for more information. | -`options` | `Partial` | {} | Options for the execution of the BuyQuote. See type definition for more information. | - -**Returns:** *`Promise`* - -A promise of the txHash. - -___ - -### getAvailableAssetDatasAsync - -▸ **getAvailableAssetDatasAsync**(): *`Promise`* - -*Defined in [asset-buyer/src/asset_buyer.ts:302](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L302)* - -Get the asset data of all assets that are purchaseable with ether token (wETH) in the order provider passed in at init. - -**Returns:** *`Promise`* - -An array of asset data strings that can be purchased using wETH. - -___ - -### getBuyQuoteAsync - -▸ **getBuyQuoteAsync**(`assetData`: string, `assetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* - -*Defined in [asset-buyer/src/asset_buyer.ts:125](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L125)* - -Get a `BuyQuote` containing all information relevant to fulfilling a buy given a desired assetData. -You can then pass the `BuyQuote` to `executeBuyQuoteAsync` to execute the buy. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`assetData` | string | - | The assetData of the desired asset to buy (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`assetBuyAmount` | `BigNumber` | - | The amount of asset to buy. | -`options` | `Partial` | {} | Options for the request. See type definition for more information. | - -**Returns:** *`Promise`* - -An object that conforms to BuyQuote that satisfies the request. See type definition for more information. - -___ - -### getBuyQuoteForERC20TokenAddressAsync - -▸ **getBuyQuoteForERC20TokenAddressAsync**(`tokenAddress`: string, `assetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* - -*Defined in [asset-buyer/src/asset_buyer.ts:173](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L173)* - -Get a `BuyQuote` containing all information relevant to fulfilling a buy given a desired ERC20 token address. -You can then pass the `BuyQuote` to `executeBuyQuoteAsync` to execute the buy. - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`tokenAddress` | string | - | The ERC20 token address. | -`assetBuyAmount` | `BigNumber` | - | The amount of asset to buy. | -`options` | `Partial` | {} | Options for the request. See type definition for more information. | - -**Returns:** *`Promise`* - -An object that conforms to BuyQuote that satisfies the request. See type definition for more information. - -___ - -### getLiquidityForAssetDataAsync - -▸ **getLiquidityForAssetDataAsync**(`assetData`: string, `options`: `Partial`): *`Promise`* - -*Defined in [asset-buyer/src/asset_buyer.ts:192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L192)* - -Returns information about available liquidity for an asset -Does not factor in slippage or fees - -**Parameters:** +### `Optional` enable -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`assetData` | string | - | The assetData of the desired asset to buy (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`options` | `Partial` | {} | Options for the request. See type definition for more information. | +▸ **enable**(): *`Promise`* -**Returns:** *`Promise`* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* -An object that conforms to LiquidityForAssetData that satisfies the request. See type definition for more information. +**Returns:** *`Promise`* ___ -### getOrdersAndFillableAmountsAsync - -▸ **getOrdersAndFillableAmountsAsync**(`assetData`: string, `shouldForceOrderRefresh`: boolean): *`Promise`* +### sendAsync -*Defined in [asset-buyer/src/asset_buyer.ts:311](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L311)* +▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -Grab orders from the map, if there is a miss or it is time to refresh, fetch and process the orders +*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`assetData` | string | The assetData of the desired asset to buy (for more info: https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). | -`shouldForceOrderRefresh` | boolean | If set to true, new orders and state will be fetched instead of waiting for the next orderRefreshIntervalMs. | +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | -**Returns:** *`Promise`* +**Returns:** *void* ___ -### `Static` getAssetBuyerForProvidedOrders +### `Optional` stop -▸ **getAssetBuyerForProvidedOrders**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orders`: `SignedOrder`[], `options`: `Partial`): *[AssetBuyer](#class-assetbuyer)* +▸ **stop**(): *void* -*Defined in [asset-buyer/src/asset_buyer.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L53)* +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* -Instantiates a new AssetBuyer instance given existing liquidity in the form of orders and feeOrders. +**Returns:** *void* -**Parameters:** +
-Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | -`orders` | `SignedOrder`[] | - | A non-empty array of objects that conform to SignedOrder. All orders must have the same makerAssetData and takerAssetData (WETH). | -`options` | `Partial` | {} | Initialization options for the AssetBuyer. See type definition for details. | -**Returns:** *[AssetBuyer](#class-assetbuyer)* -An instance of AssetBuyer -___ -### `Static` getAssetBuyerForStandardRelayerAPIUrl -▸ **getAssetBuyerForStandardRelayerAPIUrl**(`supportedProvider`: [SupportedProvider](#supportedprovider), `sraApiUrl`: string, `options`: `Partial`): *[AssetBuyer](#class-assetbuyer)* -*Defined in [asset-buyer/src/asset_buyer.ts:72](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/asset_buyer.ts#L72)* -Instantiates a new AssetBuyer instance given a [Standard Relayer API](https://github.com/0xProject/standard-relayer-api) endpoint -**Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | - | The Provider instance you would like to use for interacting with the Ethereum network. | -`sraApiUrl` | string | - | The standard relayer API base HTTP url you would like to source orders from. | -`options` | `Partial` | {} | Initialization options for the AssetBuyer. See type definition for details. | -**Returns:** *[AssetBuyer](#class-assetbuyer)* -An instance of AssetBuyer -
@@ -1427,6 +1472,7 @@ An instance of AssetBuyer + @@ -1436,7 +1482,6 @@ An instance of AssetBuyer - @@ -1479,15 +1524,20 @@ An instance of AssetBuyer +# Interface: SignedOrder +## Properties +### chainId +• **chainId**: *number* -# Interface: SignedOrder +*Inherited from [Order](#interface-order).[chainId](#chainid)* +*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L14)* -## Properties +___ ### exchangeAddress @@ -1495,7 +1545,7 @@ An instance of AssetBuyer *Inherited from [Order](#interface-order).[exchangeAddress](#exchangeaddress)* -*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L20)* +*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L15)* ___ @@ -1505,7 +1555,7 @@ ___ *Inherited from [Order](#interface-order).[expirationTimeSeconds](#expirationtimeseconds)* -*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L22)* +*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L24)* ___ @@ -1515,7 +1565,7 @@ ___ *Inherited from [Order](#interface-order).[feeRecipientAddress](#feerecipientaddress)* -*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L21)* +*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L18)* ___ @@ -1525,7 +1575,7 @@ ___ *Inherited from [Order](#interface-order).[makerAddress](#makeraddress)* -*Defined in [types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L11)* +*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L16)* ___ @@ -1535,7 +1585,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetAmount](#makerassetamount)* -*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L15)* +*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L20)* ___ @@ -1545,7 +1595,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetData](#makerassetdata)* -*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L17)* +*Defined in [types/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L26)* ___ @@ -1555,7 +1605,17 @@ ___ *Inherited from [Order](#interface-order).[makerFee](#makerfee)* -*Defined in [types/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L13)* +*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L22)* + +___ + +### makerFeeAssetData + +• **makerFeeAssetData**: *string* + +*Inherited from [Order](#interface-order).[makerFeeAssetData](#makerfeeassetdata)* + +*Defined in [types/src/index.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L28)* ___ @@ -1565,7 +1625,7 @@ ___ *Inherited from [Order](#interface-order).[salt](#salt)* -*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L19)* +*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L25)* ___ @@ -1575,7 +1635,7 @@ ___ *Inherited from [Order](#interface-order).[senderAddress](#senderaddress)* -*Defined in [types/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L10)* +*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L19)* ___ @@ -1583,7 +1643,7 @@ ___ • **signature**: *string* -*Defined in [types/src/index.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L41)* +*Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L33)* ___ @@ -1593,7 +1653,7 @@ ___ *Inherited from [Order](#interface-order).[takerAddress](#takeraddress)* -*Defined in [types/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L12)* +*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L17)* ___ @@ -1603,7 +1663,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetAmount](#takerassetamount)* -*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L16)* +*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L21)* ___ @@ -1613,7 +1673,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetData](#takerassetdata)* -*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L18)* +*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L27)* ___ @@ -1623,33 +1683,19 @@ ___ *Inherited from [Order](#interface-order).[takerFee](#takerfee)* -*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L14)* - -
- - - - - - - - - - - - - - - - - - +*Defined in [types/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L23)* +___ +### takerFeeAssetData +• **takerFeeAssetData**: *string* +*Inherited from [Order](#interface-order).[takerFeeAssetData](#takerfeeassetdata)* +*Defined in [types/src/index.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L29)* +
@@ -1676,7 +1722,6 @@ ___ -## Type aliases @@ -1723,7 +1768,7 @@ ___ Ƭ **LiquidityRequestOpts**: *`Pick`* -*Defined in [asset-buyer/src/types.ts:83](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/asset-buyer/src/types.ts#L83)* +*Defined in [asset-buyer/src/types.ts:83](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-buyer/src/types.ts#L83)*
@@ -1742,11 +1787,13 @@ ___ + + ### EIP1193Event Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L70)* +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md @@ -1763,7 +1810,7 @@ ___ Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L3)* +*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: @@ -1792,7 +1839,7 @@ ___ Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L9)* +*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. @@ -1807,7 +1854,38 @@ ___ Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L11)* +*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)* + +
+ + + + +## Type aliases + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/packages/asset-buyer/package.json b/packages/asset-buyer/package.json index 24b1b14f24..312280e0e9 100644 --- a/packages/asset-buyer/package.json +++ b/packages/asset-buyer/package.json @@ -1,6 +1,6 @@ { "name": "@0x/asset-buyer", - "version": "6.1.14", + "version": "6.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -40,17 +40,17 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/asset-buyer/README.md", "dependencies": { - "@0x/assert": "^2.1.6", - "@0x/connect": "^5.0.19", - "@0x/contract-wrappers": "^12.1.0", - "@0x/json-schemas": "^4.0.2", - "@0x/order-utils": "^8.4.0", - "@0x/subproviders": "^5.0.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/assert": "^2.2.0-beta.0", + "@0x/connect": "^5.1.0-beta.0", + "@0x/contract-wrappers": "^12.2.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "devDependencies": { diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index ca3b01158a..96f2a7801f 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "version": "2.0.0", "changes": [ diff --git a/packages/asset-swapper/CHANGELOG.md b/packages/asset-swapper/CHANGELOG.md index 77d3e67031..6104cb491c 100644 --- a/packages/asset-swapper/CHANGELOG.md +++ b/packages/asset-swapper/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v2.0.0 - _September 17, 2019_ * AssetSwapper to use `@0x/orderbook` to fetch and subscribe to order updates (#2056) diff --git a/packages/asset-swapper/docs/reference.mdx b/packages/asset-swapper/docs/reference.mdx index 83b6566a60..7ebf9fa69b 100644 --- a/packages/asset-swapper/docs/reference.mdx +++ b/packages/asset-swapper/docs/reference.mdx @@ -1,5 +1,76 @@ +# Class: InsufficientAssetLiquidityError + +Error class representing insufficient asset liquidity + + +## Constructors + + + +\+ **new InsufficientAssetLiquidityError**(`amountAvailableToFill`: `BigNumber`): *[InsufficientAssetLiquidityError](#class-insufficientassetliquidityerror)* + +*Defined in [asset-swapper/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/errors.ts#L12)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`amountAvailableToFill` | `BigNumber` | The amount availabe to fill (in base units) factoring in slippage | + +**Returns:** *[InsufficientAssetLiquidityError](#class-insufficientassetliquidityerror)* + +## Properties + +### amountAvailableToFill + +• **amountAvailableToFill**: *`BigNumber`* + +*Defined in [asset-swapper/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/errors.ts#L12)* + +The amount availabe to fill (in base units) factoring in slippage. + +___ + +### message + +• **message**: *string* + + + + + +___ + +### name + +• **name**: *string* + + + + + +___ + +### `Optional` stack + +• **stack**? : *undefined | string* + +*Overrides void* + + + +___ + +### `Static` Error + +▪ **Error**: *`ErrorConstructor`* + + + +
+ # Class: SwapQuoteConsumer @@ -14,7 +85,7 @@ \+ **new SwapQuoteConsumer**(`supportedProvider`: [SupportedProvider](#supportedprovider), `options`: `Partial`): *[SwapQuoteConsumer](#class-swapquoteconsumer)* -*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:31](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L31)* +*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L31)* **Parameters:** @@ -31,7 +102,7 @@ Name | Type | Default | • **networkId**: *number* -*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:27](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L27)* +*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L27)* ___ @@ -39,7 +110,7 @@ ___ • **provider**: *`ZeroExProvider`* -*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:26](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L26)* +*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L26)* ## Methods @@ -49,7 +120,7 @@ ___ *Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)* -*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:81](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L81)* +*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:81](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L81)* Given a SwapQuote and desired rate (in takerAsset), attempt to execute the swap. @@ -70,7 +141,7 @@ ___ *Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)* -*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:53](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L53)* +*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L53)* Given a SwapQuote, returns 'CalldataInfo' for a 0x exchange call. See type definition of CalldataInfo for more information. @@ -89,7 +160,7 @@ ___ ▸ **getOptimalExtensionContractTypeAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* -*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:90](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L90)* +*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L90)* **Parameters:** @@ -108,7 +179,7 @@ ___ *Implementation of [SwapQuoteConsumerBase](#interface-swapquoteconsumerbase)* -*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:67](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L67)* +*Defined in [asset-swapper/src/quote_consumers/swap_quote_consumer.ts:67](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/quote_consumers/swap_quote_consumer.ts#L67)* Given a SwapQuote, returns 'SmartContractParamsInfo' for a 0x exchange call. See type definition of SmartContractParamsInfo for more information. @@ -132,7 +203,7 @@ Name | Type | Default | Description | \+ **new SwapQuoter**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orderbook`: `Orderbook`, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* -*Defined in [asset-swapper/src/swap_quoter.ts:125](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L125)* +*Defined in [asset-swapper/src/swap_quoter.ts:126](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L126)* Instantiates a new SwapQuoter instance @@ -154,7 +225,7 @@ An instance of SwapQuoter • **expiryBufferMs**: *number* -*Defined in [asset-swapper/src/swap_quoter.ts:29](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L29)* +*Defined in [asset-swapper/src/swap_quoter.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L30)* ___ @@ -162,7 +233,7 @@ ___ • **orderbook**: *`Orderbook`* -*Defined in [asset-swapper/src/swap_quoter.ts:28](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L28)* +*Defined in [asset-swapper/src/swap_quoter.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L29)* ___ @@ -170,7 +241,7 @@ ___ • **provider**: *`ZeroExProvider`* -*Defined in [asset-swapper/src/swap_quoter.ts:27](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L27)* +*Defined in [asset-swapper/src/swap_quoter.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L28)* ## Methods @@ -178,7 +249,7 @@ ___ ▸ **destroyAsync**(): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:390](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L390)* +*Defined in [asset-swapper/src/swap_quoter.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L391)* Destroys any subscriptions or connections. @@ -190,7 +261,7 @@ ___ ▸ **getAvailableMakerAssetDatasAsync**(`takerAssetData`: string): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:308](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L308)* +*Defined in [asset-swapper/src/swap_quoter.ts:309](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L309)* Get the asset data of all assets that are purchaseable with takerAssetData in the order provider passed in at init. @@ -210,7 +281,7 @@ ___ ▸ **getAvailableTakerAssetDatasAsync**(`makerAssetData`: string): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:293](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L293)* +*Defined in [asset-swapper/src/swap_quoter.ts:294](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L294)* Get the asset data of all assets that can be used to purchase makerAssetData in the order provider passed in at init. @@ -230,7 +301,7 @@ ___ ▸ **getLiquidityForMakerTakerAssetDataPairAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:267](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L267)* +*Defined in [asset-swapper/src/swap_quoter.ts:268](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L268)* Returns information about available liquidity for an asset Does not factor in slippage or fees @@ -252,7 +323,7 @@ ___ ▸ **getMarketBuySwapQuoteAsync**(`makerTokenAddress`: string, `takerTokenAddress`: string, `makerAssetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:209](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L209)* +*Defined in [asset-swapper/src/swap_quoter.ts:210](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L210)* Get a `SwapQuote` containing all information relevant to fulfilling a swap between a desired ERC20 token address and ERC20 owned by a provided address. You can then pass the `SwapQuote` to a `SwapQuoteConsumer` to execute a buy, or process SwapQuote for on-chain consumption. @@ -276,7 +347,7 @@ ___ ▸ **getMarketBuySwapQuoteForAssetDataAsync**(`makerAssetData`: string, `takerAssetData`: string, `makerAssetBuyAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:184](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L184)* +*Defined in [asset-swapper/src/swap_quoter.ts:185](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L185)* Get a `SwapQuote` containing all information relevant to fulfilling a swap between a desired ERC20 token address and ERC20 owned by a provided address. You can then pass the `SwapQuote` to a `SwapQuoteConsumer` to execute a buy, or process SwapQuote for on-chain consumption. @@ -300,7 +371,7 @@ ___ ▸ **getMarketSellSwapQuoteAsync**(`makerTokenAddress`: string, `takerTokenAddress`: string, `takerAssetSellAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:239](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L239)* +*Defined in [asset-swapper/src/swap_quoter.ts:240](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L240)* Get a `SwapQuote` containing all information relevant to fulfilling a swap between a desired ERC20 token address and ERC20 owned by a provided address. You can then pass the `SwapQuote` to a `SwapQuoteConsumer` to execute a buy, or process SwapQuote for on-chain consumption. @@ -324,7 +395,7 @@ ___ ▸ **getMarketSellSwapQuoteForAssetDataAsync**(`makerAssetData`: string, `takerAssetData`: string, `takerAssetSellAmount`: `BigNumber`, `options`: `Partial`): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:158](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L158)* +*Defined in [asset-swapper/src/swap_quoter.ts:159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L159)* Get a `SwapQuote` containing all information relevant to fulfilling a swap between a desired ERC20 token address and ERC20 owned by a provided address. You can then pass the `SwapQuote` to a `SwapQuoteConsumer` to execute a buy, or process SwapQuote for on-chain consumption. @@ -348,7 +419,7 @@ ___ ▸ **getOrdersAndFillableAmountsAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:340](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L340)* +*Defined in [asset-swapper/src/swap_quoter.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L341)* Grab orders from the map, if there is a miss or it is time to refresh, fetch and process the orders @@ -367,7 +438,7 @@ ___ ▸ **isTakerAddressAllowanceEnoughForBestAndWorstQuoteInfoAsync**(`swapQuote`: [SwapQuote](#swapquote), `takerAddress`: string): *`Promise<[boolean, boolean]>`* -*Defined in [asset-swapper/src/swap_quoter.ts:371](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L371)* +*Defined in [asset-swapper/src/swap_quoter.ts:372](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L372)* Util function to check if takerAddress's allowance is enough for 0x exchange contracts to conduct the swap specified by the swapQuote. @@ -386,7 +457,7 @@ ___ ▸ **isTakerMakerAssetDataPairAvailableAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* -*Defined in [asset-swapper/src/swap_quoter.ts:323](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L323)* +*Defined in [asset-swapper/src/swap_quoter.ts:324](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L324)* Validates the taker + maker asset pair is available from the order provider provided to `SwapQuote`. @@ -407,7 +478,7 @@ ___ ▸ **getSwapQuoterForMeshEndpoint**(`supportedProvider`: [SupportedProvider](#supportedprovider), `meshEndpoint`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* -*Defined in [asset-swapper/src/swap_quoter.ts:112](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L112)* +*Defined in [asset-swapper/src/swap_quoter.ts:113](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L113)* Instantiates a new SwapQuoter instance given a 0x Mesh endpoint. This pulls all available liquidity stored in Mesh @@ -429,7 +500,7 @@ ___ ▸ **getSwapQuoterForProvidedOrders**(`supportedProvider`: [SupportedProvider](#supportedprovider), `orders`: `SignedOrder`[], `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* -*Defined in [asset-swapper/src/swap_quoter.ts:40](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L40)* +*Defined in [asset-swapper/src/swap_quoter.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L41)* Instantiates a new SwapQuoter instance given existing liquidity in the form of orders and feeOrders. @@ -451,7 +522,7 @@ ___ ▸ **getSwapQuoterForStandardRelayerAPIUrl**(`supportedProvider`: [SupportedProvider](#supportedprovider), `sraApiUrl`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* -*Defined in [asset-swapper/src/swap_quoter.ts:60](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L60)* +*Defined in [asset-swapper/src/swap_quoter.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L61)* Instantiates a new SwapQuoter instance given a [Standard Relayer API](https://github.com/0xProject/standard-relayer-api) endpoint @@ -473,7 +544,7 @@ ___ ▸ **getSwapQuoterForStandardRelayerAPIWebsocket**(`supportedProvider`: [SupportedProvider](#supportedprovider), `sraApiUrl`: string, `sraWebsocketAPIUrl`: string, `options`: `Partial`): *[SwapQuoter](#class-swapquoter)* -*Defined in [asset-swapper/src/swap_quoter.ts:87](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/swap_quoter.ts#L87)* +*Defined in [asset-swapper/src/swap_quoter.ts:88](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/swap_quoter.ts#L88)* Instantiates a new SwapQuoter instance given a [Standard Relayer API](https://github.com/0xProject/standard-relayer-api) endpoint and a websocket endpoint. This is more effecient than `getSwapQuoterForStandardRelayerAPIUrl` when requesting multiple quotes. @@ -502,7 +573,7 @@ An instance of SwapQuoter \+ **new BaseOrderProvider**(`orderStore`: [OrderStore](_orderbook_src_order_store_.orderstore.md)): *[BaseOrderProvider](#class-baseorderprovider)* -*Defined in [orderbook/src/order_provider/base_order_provider.ts:12](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_provider/base_order_provider.ts#L12)* +*Defined in [orderbook/src/order_provider/base_order_provider.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_provider/base_order_provider.ts#L12)* **Parameters:** @@ -518,7 +589,7 @@ Name | Type | • **_orderStore**: *[OrderStore](#class-orderstore)* -*Defined in [orderbook/src/order_provider/base_order_provider.ts:12](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_provider/base_order_provider.ts#L12)* +*Defined in [orderbook/src/order_provider/base_order_provider.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_provider/base_order_provider.ts#L12)* ## Methods @@ -526,7 +597,7 @@ Name | Type | ▸ **addOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`* -*Defined in [orderbook/src/order_provider/base_order_provider.ts:27](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_provider/base_order_provider.ts#L27)* +*Defined in [orderbook/src/order_provider/base_order_provider.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_provider/base_order_provider.ts#L27)* **Parameters:** @@ -542,7 +613,7 @@ ___ ▸ **createSubscriptionForAssetPairAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* -*Defined in [orderbook/src/order_provider/base_order_provider.ts:18](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_provider/base_order_provider.ts#L18)* +*Defined in [orderbook/src/order_provider/base_order_provider.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_provider/base_order_provider.ts#L18)* **Parameters:** @@ -559,7 +630,7 @@ ___ ▸ **destroyAsync**(): *`Promise`* -*Defined in [orderbook/src/order_provider/base_order_provider.ts:25](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_provider/base_order_provider.ts#L25)* +*Defined in [orderbook/src/order_provider/base_order_provider.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_provider/base_order_provider.ts#L25)* **Returns:** *`Promise`* @@ -569,7 +640,7 @@ ___ ▸ **getAvailableAssetDatasAsync**(): *`Promise`* -*Defined in [orderbook/src/order_provider/base_order_provider.ts:23](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_provider/base_order_provider.ts#L23)* +*Defined in [orderbook/src/order_provider/base_order_provider.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_provider/base_order_provider.ts#L23)* **Returns:** *`Promise`* @@ -584,7 +655,7 @@ ___ \+ **new OrderSet**(`orders`: `APIOrder`[]): *[OrderSet](#class-orderset)* -*Defined in [orderbook/src/order_set.ts:6](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L6)* +*Defined in [orderbook/src/order_set.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L6)* **Parameters:** @@ -600,7 +671,7 @@ Name | Type | Default | ▸ **add**(`item`: `APIOrder`): *void* -*Defined in [orderbook/src/order_set.ts:19](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L19)* +*Defined in [orderbook/src/order_set.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L19)* **Parameters:** @@ -616,7 +687,7 @@ ___ ▸ **addMany**(`items`: `APIOrder`[]): *void* -*Defined in [orderbook/src/order_set.ts:25](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L25)* +*Defined in [orderbook/src/order_set.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L25)* **Parameters:** @@ -632,7 +703,7 @@ ___ ▸ **delete**(`item`: `APIOrder`): *boolean* -*Defined in [orderbook/src/order_set.ts:57](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L57)* +*Defined in [orderbook/src/order_set.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L57)* **Parameters:** @@ -648,7 +719,7 @@ ___ ▸ **deleteMany**(`items`: `APIOrder`[]): *void* -*Defined in [orderbook/src/order_set.ts:61](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L61)* +*Defined in [orderbook/src/order_set.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L61)* **Parameters:** @@ -664,7 +735,7 @@ ___ ▸ **diff**(`other`: [OrderSet](#class-orderset)): *object* -*Defined in [orderbook/src/order_set.ts:35](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L35)* +*Defined in [orderbook/src/order_set.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L35)* **Parameters:** @@ -680,7 +751,7 @@ ___ ▸ **has**(`order`: `APIOrder`): *boolean* -*Defined in [orderbook/src/order_set.ts:31](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L31)* +*Defined in [orderbook/src/order_set.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L31)* **Parameters:** @@ -696,7 +767,7 @@ ___ ▸ **size**(): *number* -*Defined in [orderbook/src/order_set.ts:15](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L15)* +*Defined in [orderbook/src/order_set.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L15)* **Returns:** *number* @@ -706,7 +777,7 @@ ___ ▸ **values**(): *`IterableIterator`* -*Defined in [orderbook/src/order_set.ts:53](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_set.ts#L53)* +*Defined in [orderbook/src/order_set.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_set.ts#L53)* **Returns:** *`IterableIterator`* @@ -721,7 +792,7 @@ ___ ▸ **getOrderSetForAssetPair**(`assetPairKey`: string): *[OrderSet](#class-orderset)* -*Defined in [orderbook/src/order_store.ts:19](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_store.ts#L19)* +*Defined in [orderbook/src/order_store.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L19)* **Parameters:** @@ -737,7 +808,7 @@ ___ ▸ **getOrderSetForAssets**(`makerAssetData`: string, `takerAssetData`: string): *[OrderSet](#class-orderset)* -*Defined in [orderbook/src/order_store.ts:15](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_store.ts#L15)* +*Defined in [orderbook/src/order_store.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L15)* **Parameters:** @@ -754,7 +825,7 @@ ___ ▸ **has**(`assetPairKey`: string): *boolean* -*Defined in [orderbook/src/order_store.ts:34](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_store.ts#L34)* +*Defined in [orderbook/src/order_store.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L34)* **Parameters:** @@ -770,7 +841,7 @@ ___ ▸ **keys**(): *`IterableIterator`* -*Defined in [orderbook/src/order_store.ts:40](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_store.ts#L40)* +*Defined in [orderbook/src/order_store.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L40)* **Returns:** *`IterableIterator`* @@ -780,7 +851,7 @@ ___ ▸ **update**(`addedRemoved`: [AddedRemovedOrders](#interface-addedremovedorders)): *void* -*Defined in [orderbook/src/order_store.ts:28](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_store.ts#L28)* +*Defined in [orderbook/src/order_store.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L28)* **Parameters:** @@ -796,7 +867,7 @@ ___ ▸ **values**(`assetPairKey`: string): *`APIOrder`[]* -*Defined in [orderbook/src/order_store.ts:37](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_store.ts#L37)* +*Defined in [orderbook/src/order_store.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L37)* **Parameters:** @@ -812,7 +883,7 @@ ___ ▸ **assetPairKeyToAssets**(`assetPairKey`: string): *string[]* -*Defined in [orderbook/src/order_store.ts:12](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_store.ts#L12)* +*Defined in [orderbook/src/order_store.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L12)* **Parameters:** @@ -828,7 +899,7 @@ ___ ▸ **getKeyForAssetPair**(`makerAssetData`: string, `takerAssetData`: string): *string* -*Defined in [orderbook/src/order_store.ts:9](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_store.ts#L9)* +*Defined in [orderbook/src/order_store.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_store.ts#L9)* **Parameters:** @@ -850,7 +921,7 @@ Name | Type | \+ **new Orderbook**(`orderProvider`: [BaseOrderProvider](_orderbook_src_order_provider_base_order_provider_.baseorderprovider.md), `orderStore`: [OrderStore](_orderbook_src_order_store_.orderstore.md)): *[Orderbook](#class-orderbook)* -*Defined in [orderbook/src/orderbook.ts:55](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L55)* +*Defined in [orderbook/src/orderbook.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L55)* Creates an Orderbook with the order provider. All order updates are stored in the `OrderStore`. @@ -870,7 +941,7 @@ Name | Type | Description | ▸ **addOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`* -*Defined in [orderbook/src/orderbook.ts:98](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L98)* +*Defined in [orderbook/src/orderbook.ts:98](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L98)* Adds the orders to the Order Provider. All accepted orders will be returned and rejected orders will be returned with an message indicating a reason for its rejection @@ -889,7 +960,7 @@ ___ ▸ **destroyAsync**(): *`Promise`* -*Defined in [orderbook/src/orderbook.ts:104](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L104)* +*Defined in [orderbook/src/orderbook.ts:104](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L104)* Destroys any subscriptions or connections. @@ -901,7 +972,7 @@ ___ ▸ **getAvailableAssetDatasAsync**(): *`Promise`* -*Defined in [orderbook/src/orderbook.ts:90](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L90)* +*Defined in [orderbook/src/orderbook.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L90)* Returns all of the Available Asset Pairs for the provided Order Provider. @@ -913,7 +984,7 @@ ___ ▸ **getOrdersAsync**(`makerAssetData`: string, `takerAssetData`: string): *`Promise`* -*Defined in [orderbook/src/orderbook.ts:75](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L75)* +*Defined in [orderbook/src/orderbook.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L75)* Returns all orders where the order.makerAssetData == makerAssetData and order.takerAssetData == takerAssetData. This pair is then subscribed to @@ -936,7 +1007,7 @@ ___ ▸ **getOrderbookForMeshProvider**(`opts`: [MeshOrderProviderOpts](#interface-meshorderprovideropts)): *[Orderbook](#class-orderbook)* -*Defined in [orderbook/src/orderbook.ts:52](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L52)* +*Defined in [orderbook/src/orderbook.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L52)* Creates an Orderbook with a Mesh Order Provider. This Provider fetches ALL orders and subscribes to updates on ALL orders. @@ -955,7 +1026,7 @@ ___ ▸ **getOrderbookForPollingProvider**(`opts`: [SRAPollingOrderProviderOpts](#interface-srapollingorderprovideropts)): *[Orderbook](#class-orderbook)* -*Defined in [orderbook/src/orderbook.ts:43](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L43)* +*Defined in [orderbook/src/orderbook.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L43)* Creates an Orderbook with SRA Polling Provider. This Provider simply polls every interval. @@ -973,7 +1044,7 @@ ___ ▸ **getOrderbookForProvidedOrders**(`orders`: `SignedOrder`[]): *[Orderbook](#class-orderbook)* -*Defined in [orderbook/src/orderbook.ts:26](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L26)* +*Defined in [orderbook/src/orderbook.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L26)* Creates an Orderbook with the provided orders. This provider simply stores the orders and allows querying. No validation or subscriptions occur. @@ -992,7 +1063,7 @@ ___ ▸ **getOrderbookForWebsocketProvider**(`opts`: [SRAWebsocketOrderProviderOpts](#interface-srawebsocketorderprovideropts)): *[Orderbook](#class-orderbook)* -*Defined in [orderbook/src/orderbook.ts:35](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/orderbook.ts#L35)* +*Defined in [orderbook/src/orderbook.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/orderbook.ts#L35)* Creates an Orderbook with the SRA Websocket Provider. This Provider fetches orders via the SRA http endpoint and then subscribes to the asset pair for future updates. @@ -1018,7 +1089,7 @@ Represents the varying smart contracts that can consume a valid swap quote • **Forwarder**: = "FORWARDER" -*Defined in [asset-swapper/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L90)* +*Defined in [asset-swapper/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L90)* ___ @@ -1026,7 +1097,7 @@ ___ • **None**: = "NONE" -*Defined in [asset-swapper/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L91)* +*Defined in [asset-swapper/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L91)*
@@ -1043,7 +1114,15 @@ Possible error messages thrown by an SwapQuoter instance or associated static me • **AssetUnavailable**: = "ASSET_UNAVAILABLE" -*Defined in [asset-swapper/src/types.ts:305](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L305)* +*Defined in [asset-swapper/src/types.ts:305](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L305)* + +___ + +### FeeAssetUnavailable + +• **FeeAssetUnavailable**: = "FEE_ASSET_UNAVAILABLE" + +*Defined in [asset-swapper/src/types.ts:306](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L306)* ___ @@ -1051,7 +1130,7 @@ ___ • **InsufficientAssetLiquidity**: = "INSUFFICIENT_ASSET_LIQUIDITY" -*Defined in [asset-swapper/src/types.ts:302](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L302)* +*Defined in [asset-swapper/src/types.ts:302](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L302)* ___ @@ -1059,7 +1138,7 @@ ___ • **InsufficientZrxLiquidity**: = "INSUFFICIENT_ZRX_LIQUIDITY" -*Defined in [asset-swapper/src/types.ts:303](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L303)* +*Defined in [asset-swapper/src/types.ts:303](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L303)* ___ @@ -1067,7 +1146,7 @@ ___ • **InvalidOrderProviderResponse**: = "INVALID_ORDER_PROVIDER_RESPONSE" -*Defined in [asset-swapper/src/types.ts:304](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L304)* +*Defined in [asset-swapper/src/types.ts:304](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L304)* ___ @@ -1075,7 +1154,7 @@ ___ • **NoEtherTokenContractFound**: = "NO_ETHER_TOKEN_CONTRACT_FOUND" -*Defined in [asset-swapper/src/types.ts:299](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L299)* +*Defined in [asset-swapper/src/types.ts:299](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L299)* ___ @@ -1083,7 +1162,7 @@ ___ • **NoZrxTokenContractFound**: = "NO_ZRX_TOKEN_CONTRACT_FOUND" -*Defined in [asset-swapper/src/types.ts:300](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L300)* +*Defined in [asset-swapper/src/types.ts:300](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L300)* ___ @@ -1091,7 +1170,7 @@ ___ • **StandardRelayerApiError**: = "STANDARD_RELAYER_API_ERROR" -*Defined in [asset-swapper/src/types.ts:301](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L301)* +*Defined in [asset-swapper/src/types.ts:301](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L301)*
@@ -1125,7 +1204,7 @@ ___ -
+ # Interface: CalldataInfo @@ -1142,7 +1221,7 @@ ethAmount: If provided, the eth amount in wei to send with the smart contract ca • **calldataHexString**: *string* -*Defined in [asset-swapper/src/types.ts:39](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L39)* +*Defined in [asset-swapper/src/types.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L39)* ___ @@ -1150,7 +1229,7 @@ ___ • **ethAmount**? : *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L42)* +*Defined in [asset-swapper/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L42)* ___ @@ -1158,7 +1237,7 @@ ___ • **methodAbi**: *`MethodAbi`* -*Defined in [asset-swapper/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L40)* +*Defined in [asset-swapper/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L40)* ___ @@ -1166,7 +1245,7 @@ ___ • **toAddress**: *string* -*Defined in [asset-swapper/src/types.ts:41](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L41)* +*Defined in [asset-swapper/src/types.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L41)*
@@ -1191,7 +1270,7 @@ ___ *Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[ethAmount](#optional-ethamount)* -*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L181)* +*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L181)* ___ @@ -1201,7 +1280,7 @@ ___ *Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feePercentage](#feepercentage)* -*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L179)* +*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L179)* ___ @@ -1211,7 +1290,7 @@ ___ *Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feeRecipient](#feerecipient)* -*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L180)* +*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L180)* ___ @@ -1221,7 +1300,7 @@ ___ *Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[gasLimit](#optional-gaslimit)* -*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L169)* +*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L169)* ___ @@ -1231,7 +1310,7 @@ ___ *Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[gasPrice](#optional-gasprice)* -*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L170)* +*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L170)* ___ @@ -1241,7 +1320,7 @@ ___ *Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[takerAddress](#optional-takeraddress)* -*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L168)* +*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L168)*
@@ -1258,7 +1337,7 @@ ethAmount: The amount of eth (in Wei) sent to the forwarder contract. • **ethAmount**? : *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L181)* +*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L181)* ___ @@ -1266,7 +1345,7 @@ ___ • **feePercentage**: *number* -*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L179)* +*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L179)* ___ @@ -1274,7 +1353,7 @@ ___ • **feeRecipient**: *string* -*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L180)* +*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L180)*
@@ -1287,7 +1366,7 @@ ___ • **ethAmount**? : *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:188](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L188)* +*Defined in [asset-swapper/src/types.ts:188](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L188)* ___ @@ -1295,7 +1374,7 @@ ___ • **takerAddress**? : *undefined | string* -*Defined in [asset-swapper/src/types.ts:187](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L187)* +*Defined in [asset-swapper/src/types.ts:187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L187)*
@@ -1310,7 +1389,7 @@ Represents available liquidity for a given assetData • **makerTokensAvailableInBaseUnits**: *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:321](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L321)* +*Defined in [asset-swapper/src/types.ts:322](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L322)* ___ @@ -1318,7 +1397,7 @@ ___ • **takerTokensAvailableInBaseUnits**: *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:322](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L322)* +*Defined in [asset-swapper/src/types.ts:323](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L323)*
@@ -1336,7 +1415,7 @@ type: Specified MarketOperation the SwapQuote is provided for *Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)* -*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L219)* +*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L219)* ___ @@ -1346,7 +1425,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[feeOrders](#feeorders)* -*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L218)* +*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L218)* ___ @@ -1356,7 +1435,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* -*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L216)* +*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L216)* ___ @@ -1364,7 +1443,7 @@ ___ • **makerAssetFillAmount**: *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:237](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L237)* +*Defined in [asset-swapper/src/types.ts:237](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L237)* ___ @@ -1374,7 +1453,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* -*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L217)* +*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L217)* ___ @@ -1384,7 +1463,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* -*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L215)* +*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L215)* ___ @@ -1392,7 +1471,7 @@ ___ • **type**: *`Buy`* -*Defined in [asset-swapper/src/types.ts:238](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L238)* +*Defined in [asset-swapper/src/types.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L238)* ___ @@ -1402,7 +1481,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* -*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L220)* +*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L220)*
@@ -1417,7 +1496,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)* -*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L219)* +*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L219)* ___ @@ -1427,7 +1506,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[feeOrders](#feeorders)* -*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L218)* +*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L218)* ___ @@ -1437,7 +1516,7 @@ ___ *Inherited from [SwapQuoteWithAffiliateFeeBase](#interface-swapquotewithaffiliatefeebase).[feePercentage](#feepercentage)* -*Defined in [asset-swapper/src/types.ts:242](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L242)* +*Defined in [asset-swapper/src/types.ts:242](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L242)* ___ @@ -1447,7 +1526,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* -*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L216)* +*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L216)* ___ @@ -1457,7 +1536,7 @@ ___ *Inherited from [MarketBuySwapQuote](#interface-marketbuyswapquote).[makerAssetFillAmount](#makerassetfillamount)* -*Defined in [asset-swapper/src/types.ts:237](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L237)* +*Defined in [asset-swapper/src/types.ts:237](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L237)* ___ @@ -1467,7 +1546,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* -*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L217)* +*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L217)* ___ @@ -1477,7 +1556,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* -*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L215)* +*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L215)* ___ @@ -1487,7 +1566,7 @@ ___ *Inherited from [MarketBuySwapQuote](#interface-marketbuyswapquote).[type](#type)* -*Defined in [asset-swapper/src/types.ts:238](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L238)* +*Defined in [asset-swapper/src/types.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L238)* ___ @@ -1497,7 +1576,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* -*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L220)* +*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L220)*
@@ -1515,7 +1594,7 @@ type: Specified MarketOperation the SwapQuote is provided for *Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)* -*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L219)* +*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L219)* ___ @@ -1525,7 +1604,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[feeOrders](#feeorders)* -*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L218)* +*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L218)* ___ @@ -1535,7 +1614,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* -*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L216)* +*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L216)* ___ @@ -1545,7 +1624,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* -*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L217)* +*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L217)* ___ @@ -1555,7 +1634,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* -*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L215)* +*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L215)* ___ @@ -1563,7 +1642,7 @@ ___ • **takerAssetFillAmount**: *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:228](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L228)* +*Defined in [asset-swapper/src/types.ts:228](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L228)* ___ @@ -1571,7 +1650,7 @@ ___ • **type**: *`Sell`* -*Defined in [asset-swapper/src/types.ts:229](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L229)* +*Defined in [asset-swapper/src/types.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L229)* ___ @@ -1581,7 +1660,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* -*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L220)* +*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L220)*
@@ -1596,7 +1675,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[bestCaseQuoteInfo](#bestcasequoteinfo)* -*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L219)* +*Defined in [asset-swapper/src/types.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L219)* ___ @@ -1606,7 +1685,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[feeOrders](#feeorders)* -*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L218)* +*Defined in [asset-swapper/src/types.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L218)* ___ @@ -1616,7 +1695,7 @@ ___ *Inherited from [SwapQuoteWithAffiliateFeeBase](#interface-swapquotewithaffiliatefeebase).[feePercentage](#feepercentage)* -*Defined in [asset-swapper/src/types.ts:242](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L242)* +*Defined in [asset-swapper/src/types.ts:242](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L242)* ___ @@ -1626,7 +1705,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[makerAssetData](#makerassetdata)* -*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L216)* +*Defined in [asset-swapper/src/types.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L216)* ___ @@ -1636,7 +1715,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[orders](#orders)* -*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L217)* +*Defined in [asset-swapper/src/types.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L217)* ___ @@ -1646,7 +1725,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[takerAssetData](#takerassetdata)* -*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L215)* +*Defined in [asset-swapper/src/types.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L215)* ___ @@ -1656,7 +1735,7 @@ ___ *Inherited from [MarketSellSwapQuote](#interface-marketsellswapquote).[takerAssetFillAmount](#takerassetfillamount)* -*Defined in [asset-swapper/src/types.ts:228](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L228)* +*Defined in [asset-swapper/src/types.ts:228](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L228)* ___ @@ -1666,7 +1745,7 @@ ___ *Inherited from [MarketSellSwapQuote](#interface-marketsellswapquote).[type](#type)* -*Defined in [asset-swapper/src/types.ts:229](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L229)* +*Defined in [asset-swapper/src/types.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L229)* ___ @@ -1676,7 +1755,7 @@ ___ *Inherited from [SwapQuoteBase](#interface-swapquotebase).[worstCaseQuoteInfo](#worstcasequoteinfo)* -*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L220)* +*Defined in [asset-swapper/src/types.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L220)*
@@ -1709,7 +1788,7 @@ methodAbi: The ABI of the smart contract method to call with params. • **ethAmount**? : *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L55)* +*Defined in [asset-swapper/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L55)* ___ @@ -1717,7 +1796,7 @@ ___ • **methodAbi**: *`MethodAbi`* -*Defined in [asset-swapper/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L56)* +*Defined in [asset-swapper/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L56)* ___ @@ -1725,7 +1804,7 @@ ___ • **params**: *`T`* -*Defined in [asset-swapper/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L53)* +*Defined in [asset-swapper/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L53)* ___ @@ -1733,7 +1812,7 @@ ___ • **toAddress**: *string* -*Defined in [asset-swapper/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L54)* +*Defined in [asset-swapper/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L54)*
@@ -1762,7 +1841,7 @@ executeSwapQuoteOrThrowAsync: Executes a web3 transaction to swap for tokens wit ▸ **executeSwapQuoteOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* -*Defined in [asset-swapper/src/types.ts:147](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L147)* +*Defined in [asset-swapper/src/types.ts:147](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L147)* **Parameters:** @@ -1779,7 +1858,7 @@ ___ ▸ **getCalldataOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise`* -*Defined in [asset-swapper/src/types.ts:142](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L142)* +*Defined in [asset-swapper/src/types.ts:142](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L142)* **Parameters:** @@ -1796,7 +1875,7 @@ ___ ▸ **getSmartContractParamsOrThrowAsync**(`quote`: [SwapQuote](#swapquote), `opts`: `Partial`): *`Promise>`* -*Defined in [asset-swapper/src/types.ts:143](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L143)* +*Defined in [asset-swapper/src/types.ts:143](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L143)* **Parameters:** @@ -1820,7 +1899,7 @@ networkId: The networkId that the desired orders should be for. • **networkId**: *number* -*Defined in [asset-swapper/src/types.ts:154](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L154)* +*Defined in [asset-swapper/src/types.ts:154](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L154)*
@@ -1839,7 +1918,7 @@ Represents the options for executing a swap quote with SwapQuoteConsumer *Overrides [ForwarderSwapQuoteGetOutputOpts](_asset_swapper_src_types_.forwarderswapquotegetoutputopts.md).[ethAmount](#optional-ethamount)* -*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L181)* +*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L181)* ___ @@ -1851,7 +1930,7 @@ ___ *Overrides [ForwarderSwapQuoteGetOutputOpts](_asset_swapper_src_types_.forwarderswapquotegetoutputopts.md).[feePercentage](#feepercentage)* -*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L179)* +*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L179)* ___ @@ -1863,7 +1942,7 @@ ___ *Overrides [ForwarderSwapQuoteGetOutputOpts](_asset_swapper_src_types_.forwarderswapquotegetoutputopts.md).[feeRecipient](#feerecipient)* -*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L180)* +*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L180)* ___ @@ -1873,7 +1952,7 @@ ___ *Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[gasLimit](#optional-gaslimit)* -*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L169)* +*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L169)* ___ @@ -1883,7 +1962,7 @@ ___ *Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[gasPrice](#optional-gasprice)* -*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L170)* +*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L170)* ___ @@ -1893,7 +1972,7 @@ ___ *Inherited from [SwapQuoteExecutionOptsBase](#interface-swapquoteexecutionoptsbase).[takerAddress](#optional-takeraddress)* -*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L168)* +*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L168)* ___ @@ -1903,7 +1982,7 @@ ___ *Inherited from [SwapQuoteGetOutputOpts](#interface-swapquotegetoutputopts).[useExtensionContract](#useextensioncontract)* -*Defined in [asset-swapper/src/types.ts:196](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L196)* +*Defined in [asset-swapper/src/types.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L196)*
@@ -1920,7 +1999,7 @@ gasPrice: Gas price in Wei to use for a transaction • **gasLimit**? : *undefined | number* -*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L169)* +*Defined in [asset-swapper/src/types.ts:169](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L169)* ___ @@ -1928,7 +2007,7 @@ ___ • **gasPrice**? : *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L170)* +*Defined in [asset-swapper/src/types.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L170)* ___ @@ -1936,7 +2015,7 @@ ___ • **takerAddress**? : *undefined | string* -*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L168)* +*Defined in [asset-swapper/src/types.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L168)*
@@ -1954,7 +2033,7 @@ useConsumerType: If provided, defaults the SwapQuoteConsumer to create output co *Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[ethAmount](#optional-ethamount)* -*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L181)* +*Defined in [asset-swapper/src/types.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L181)* ___ @@ -1964,7 +2043,7 @@ ___ *Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feePercentage](#feepercentage)* -*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L179)* +*Defined in [asset-swapper/src/types.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L179)* ___ @@ -1974,7 +2053,7 @@ ___ *Inherited from [ForwarderSwapQuoteGetOutputOpts](#interface-forwarderswapquotegetoutputopts).[feeRecipient](#feerecipient)* -*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L180)* +*Defined in [asset-swapper/src/types.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L180)* ___ @@ -1982,7 +2061,7 @@ ___ • **useExtensionContract**: *[ExtensionContractType](#enumeration-extensioncontracttype)* -*Defined in [asset-swapper/src/types.ts:196](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L196)* +*Defined in [asset-swapper/src/types.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L196)*
@@ -2002,7 +2081,7 @@ Represents the options provided to a generic SwapQuoteConsumer • **feeTakerTokenAmount**: *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:258](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L258)* +*Defined in [asset-swapper/src/types.ts:258](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L258)* ___ @@ -2010,7 +2089,7 @@ ___ • **makerTokenAmount**: *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:261](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L261)* +*Defined in [asset-swapper/src/types.ts:261](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L261)* ___ @@ -2018,7 +2097,7 @@ ___ • **takerTokenAmount**: *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:260](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L260)* +*Defined in [asset-swapper/src/types.ts:260](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L260)* ___ @@ -2026,7 +2105,7 @@ ___ • **totalTakerTokenAmount**: *`BigNumber`* -*Defined in [asset-swapper/src/types.ts:259](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L259)* +*Defined in [asset-swapper/src/types.ts:259](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L259)*
@@ -2042,7 +2121,7 @@ slippagePercentage: The percentage buffer to add to account for slippage. Affect • **shouldDisableRequestingFeeOrders**: *boolean* -*Defined in [asset-swapper/src/types.ts:269](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L269)* +*Defined in [asset-swapper/src/types.ts:269](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L269)* ___ @@ -2050,7 +2129,7 @@ ___ • **slippagePercentage**: *number* -*Defined in [asset-swapper/src/types.ts:270](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L270)* +*Defined in [asset-swapper/src/types.ts:270](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L270)*
@@ -2067,7 +2146,7 @@ expiryBufferMs: The number of seconds to add when calculating whether an order i • **expiryBufferMs**: *number* -*Defined in [asset-swapper/src/types.ts:281](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L281)* +*Defined in [asset-swapper/src/types.ts:281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L281)* ___ @@ -2075,7 +2154,7 @@ ___ • **networkId**: *number* -*Defined in [asset-swapper/src/types.ts:279](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L279)* +*Defined in [asset-swapper/src/types.ts:279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L279)* ___ @@ -2083,7 +2162,7 @@ ___ • **orderRefreshIntervalMs**: *number* -*Defined in [asset-swapper/src/types.ts:280](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L280)* +*Defined in [asset-swapper/src/types.ts:280](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L280)*
@@ -2126,7 +2205,7 @@ ___ • **components**? : *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L131)* +*Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* ___ @@ -2134,7 +2213,7 @@ ___ • **name**: *string* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -2142,7 +2221,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -2161,7 +2240,7 @@ ___ • **isEIP1193**: *boolean* -*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L73)* +*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* ## Methods @@ -2169,7 +2248,7 @@ ___ ▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* -*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L75)* +*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* **Parameters:** @@ -2193,7 +2272,7 @@ ___ ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L74)* +*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* **Parameters:** @@ -2227,7 +2306,7 @@ Name | Type | ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L14)* +*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* **Parameters:** @@ -2251,7 +2330,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -2259,7 +2338,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -2267,7 +2346,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -2275,7 +2354,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -2288,7 +2367,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -2296,7 +2375,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -2309,7 +2388,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L337)* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -2317,7 +2396,7 @@ ___ • **id**: *number* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L335)* +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -2325,7 +2404,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L336)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -2333,7 +2412,7 @@ ___ • **result**: *any* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L334)* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -2352,7 +2431,7 @@ ___ • **constant**: *boolean* -*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L94)* +*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L94)* ___ @@ -2360,7 +2439,7 @@ ___ • **inputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L92)* +*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L92)* ___ @@ -2368,7 +2447,7 @@ ___ • **name**: *string* -*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L91)* +*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L91)* ___ @@ -2376,7 +2455,7 @@ ___ • **outputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L93)* +*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L93)* ___ @@ -2384,7 +2463,7 @@ ___ • **payable**: *boolean* -*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L96)* +*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L96)* ___ @@ -2392,7 +2471,7 @@ ___ • **stateMutability**: *[StateMutability](#statemutability)* -*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L95)* +*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L95)* ___ @@ -2400,7 +2479,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L90)* +*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L90)*
@@ -2428,78 +2507,9 @@ ___ -# Class: InsufficientAssetLiquidityError -Error class representing insufficient asset liquidity -## Constructors - - - -\+ **new InsufficientAssetLiquidityError**(`amountAvailableToFill`: `BigNumber`): *[InsufficientAssetLiquidityError](#class-insufficientassetliquidityerror)* - -*Defined in [asset-swapper/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/errors.ts#L12)* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`amountAvailableToFill` | `BigNumber` | The amount availabe to fill (in base units) factoring in slippage | - -**Returns:** *[InsufficientAssetLiquidityError](#class-insufficientassetliquidityerror)* - -## Properties - -### amountAvailableToFill - -• **amountAvailableToFill**: *`BigNumber`* - -*Defined in [asset-swapper/src/errors.ts:12](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/errors.ts#L12)* - -The amount availabe to fill (in base units) factoring in slippage. - -___ - -### message - -• **message**: *string* - - - - - -___ - -### name - -• **name**: *string* - - - - - -___ - -### `Optional` stack - -• **stack**? : *undefined | string* - - - -*Overrides void* - - - -___ - -### `Static` Error - -▪ **Error**: *`ErrorConstructor`* - - - -
@@ -2514,7 +2524,7 @@ ___ *Overrides [DataItem](_ethereum_types_src_index_.dataitem.md).[components](#optional-components)* -*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L135)* +*Defined in [ethereum-types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L141)* ___ @@ -2524,7 +2534,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[name](#name)* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -2534,7 +2544,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[type](#type)* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -2555,7 +2565,7 @@ This interface allowed sending synchonous requests, support for which was later ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L45)* +*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* **Parameters:** @@ -2571,7 +2581,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L44)* +*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* **Parameters:** @@ -2597,7 +2607,7 @@ before the first attempts to conform to EIP1193 ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L54)* +*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* **Parameters:** @@ -2623,7 +2633,7 @@ however it does not conform entirely. ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L63)* +*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* **Parameters:** @@ -2649,7 +2659,7 @@ add here • **isMetaMask**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L31)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ @@ -2657,7 +2667,7 @@ ___ • **isParity**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L32)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ @@ -2665,7 +2675,7 @@ ___ • **isZeroExProvider**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L30)* +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* ## Methods @@ -2673,7 +2683,7 @@ ___ ▸ **enable**(): *`Promise`* -*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L34)* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* **Returns:** *`Promise`* @@ -2683,7 +2693,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L35)* +*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* **Parameters:** @@ -2700,7 +2710,7 @@ ___ ▸ **stop**(): *void* -*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L33)* +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* **Returns:** *void* @@ -2715,7 +2725,7 @@ ___ • **accepted**: *`SignedOrder`[]* -*Defined in [orderbook/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L15)* +*Defined in [orderbook/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L15)* ___ @@ -2723,7 +2733,7 @@ ___ • **rejected**: *[RejectedOrder](#class-rejectedorder)[]* -*Defined in [orderbook/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L16)* +*Defined in [orderbook/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L16)*
@@ -2736,7 +2746,7 @@ ___ • **added**: *`APIOrder`[]* -*Defined in [orderbook/src/types.ts:6](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L6)* +*Defined in [orderbook/src/types.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L6)* ___ @@ -2744,7 +2754,7 @@ ___ • **assetPairKey**: *string* -*Defined in [orderbook/src/types.ts:5](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L5)* +*Defined in [orderbook/src/types.ts:5](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L5)* ___ @@ -2752,7 +2762,7 @@ ___ • **removed**: *`APIOrder`[]* -*Defined in [orderbook/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L7)* +*Defined in [orderbook/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L7)*
@@ -2767,7 +2777,7 @@ Constructor options for a Mesh Order Provider • **websocketEndpoint**: *string* -*Defined in [orderbook/src/types.ts:52](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L52)* +*Defined in [orderbook/src/types.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L52)* ___ @@ -2775,7 +2785,7 @@ ___ • **wsOpts**? : *`WSOpts`* -*Defined in [orderbook/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L54)* +*Defined in [orderbook/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L54)*
@@ -2788,7 +2798,7 @@ ___ • **message**: *string* -*Defined in [orderbook/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L11)* +*Defined in [orderbook/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L11)* ___ @@ -2796,7 +2806,7 @@ ___ • **order**: *`SignedOrder`* -*Defined in [orderbook/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L12)* +*Defined in [orderbook/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L12)*
@@ -2811,7 +2821,7 @@ Constructor options for a SRA Polling Order Provider • **httpEndpoint**: *string* -*Defined in [orderbook/src/types.ts:38](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L38)* +*Defined in [orderbook/src/types.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L38)* ___ @@ -2819,7 +2829,7 @@ ___ • **networkId**? : *undefined | number* -*Defined in [orderbook/src/types.ts:44](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L44)* +*Defined in [orderbook/src/types.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L44)* ___ @@ -2827,7 +2837,7 @@ ___ • **perPage**? : *undefined | number* -*Defined in [orderbook/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L42)* +*Defined in [orderbook/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L42)* ___ @@ -2835,7 +2845,7 @@ ___ • **pollingIntervalMs**: *number* -*Defined in [orderbook/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L40)* +*Defined in [orderbook/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L40)*
@@ -2850,7 +2860,7 @@ Constructor options for a SRA Websocket Order Provider • **httpEndpoint**: *string* -*Defined in [orderbook/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L26)* +*Defined in [orderbook/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L26)* ___ @@ -2858,7 +2868,7 @@ ___ • **networkId**? : *undefined | number* -*Defined in [orderbook/src/types.ts:30](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L30)* +*Defined in [orderbook/src/types.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L30)* ___ @@ -2866,7 +2876,7 @@ ___ • **websocketEndpoint**: *string* -*Defined in [orderbook/src/types.ts:28](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/types.ts#L28)* +*Defined in [orderbook/src/types.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/types.ts#L28)*
@@ -2879,7 +2889,7 @@ ___ • **metaData**: *object* -*Defined in [types/src/index.ts:403](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L403)* +*Defined in [types/src/index.ts:408](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L408)* ___ @@ -2887,7 +2897,7 @@ ___ • **order**: *[SignedOrder](#class-signedorder)* -*Defined in [types/src/index.ts:402](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L402)* +*Defined in [types/src/index.ts:407](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L407)*
@@ -2902,7 +2912,7 @@ ___ • **assetData**: *string* -*Defined in [types/src/index.ts:419](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L419)* +*Defined in [types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L424)* ___ @@ -2910,7 +2920,7 @@ ___ • **maxAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:421](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L421)* +*Defined in [types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L426)* ___ @@ -2918,7 +2928,7 @@ ___ • **minAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:420](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L420)* +*Defined in [types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L425)* ___ @@ -2926,7 +2936,7 @@ ___ • **precision**: *number* -*Defined in [types/src/index.ts:422](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L422)* +*Defined in [types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L427)*
@@ -2939,7 +2949,7 @@ ___ • **assetDataA**: *[Asset](#class-asset)* -*Defined in [types/src/index.ts:414](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L414)* +*Defined in [types/src/index.ts:419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L419)* ___ @@ -2947,7 +2957,7 @@ ___ • **assetDataB**: *[Asset](#class-asset)* -*Defined in [types/src/index.ts:415](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L415)* +*Defined in [types/src/index.ts:420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L420)*
@@ -2989,6 +2999,10 @@ ___ + + + + @@ -3032,6 +3046,10 @@ ___ + + + + @@ -3042,13 +3060,23 @@ ___ ## Properties +### chainId + +• **chainId**: *number* + +*Inherited from [Order](#interface-order).[chainId](#chainid)* + +*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L14)* + +___ + ### exchangeAddress • **exchangeAddress**: *string* *Inherited from [Order](#interface-order).[exchangeAddress](#exchangeaddress)* -*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L20)* +*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L15)* ___ @@ -3058,7 +3086,7 @@ ___ *Inherited from [Order](#interface-order).[expirationTimeSeconds](#expirationtimeseconds)* -*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L22)* +*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L24)* ___ @@ -3068,7 +3096,7 @@ ___ *Inherited from [Order](#interface-order).[feeRecipientAddress](#feerecipientaddress)* -*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L21)* +*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L18)* ___ @@ -3078,7 +3106,7 @@ ___ *Inherited from [Order](#interface-order).[makerAddress](#makeraddress)* -*Defined in [types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L11)* +*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L16)* ___ @@ -3088,7 +3116,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetAmount](#makerassetamount)* -*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L15)* +*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L20)* ___ @@ -3098,7 +3126,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetData](#makerassetdata)* -*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L17)* +*Defined in [types/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L26)* ___ @@ -3108,7 +3136,17 @@ ___ *Inherited from [Order](#interface-order).[makerFee](#makerfee)* -*Defined in [types/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L13)* +*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L22)* + +___ + +### makerFeeAssetData + +• **makerFeeAssetData**: *string* + +*Inherited from [Order](#interface-order).[makerFeeAssetData](#makerfeeassetdata)* + +*Defined in [types/src/index.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L28)* ___ @@ -3118,7 +3156,7 @@ ___ *Inherited from [Order](#interface-order).[salt](#salt)* -*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L19)* +*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L25)* ___ @@ -3128,7 +3166,7 @@ ___ *Inherited from [Order](#interface-order).[senderAddress](#senderaddress)* -*Defined in [types/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L10)* +*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L19)* ___ @@ -3136,7 +3174,7 @@ ___ • **signature**: *string* -*Defined in [types/src/index.ts:41](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L41)* +*Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L33)* ___ @@ -3146,7 +3184,7 @@ ___ *Inherited from [Order](#interface-order).[takerAddress](#takeraddress)* -*Defined in [types/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L12)* +*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L17)* ___ @@ -3156,7 +3194,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetAmount](#takerassetamount)* -*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L16)* +*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L21)* ___ @@ -3166,7 +3204,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetData](#takerassetdata)* -*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L18)* +*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L27)* ___ @@ -3176,33 +3214,19 @@ ___ *Inherited from [Order](#interface-order).[takerFee](#takerfee)* -*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/types/src/index.ts#L14)* - -
- - - - - - - - - - - - - - - - - - +*Defined in [types/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L23)* +___ +### takerFeeAssetData +• **takerFeeAssetData**: *string* +*Inherited from [Order](#interface-order).[takerFeeAssetData](#takerfeeassetdata)* +*Defined in [types/src/index.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L29)* +
@@ -3229,7 +3253,6 @@ ___ -## Type aliases @@ -3278,7 +3301,7 @@ ___ Ƭ **SwapQuote**: *[MarketBuySwapQuote](#interface-marketbuyswapquote) | [MarketSellSwapQuote](#interface-marketsellswapquote)* -*Defined in [asset-swapper/src/types.ts:184](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/asset-swapper/src/types.ts#L184)* +*Defined in [asset-swapper/src/types.ts:184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/asset-swapper/src/types.ts#L184)* ___ @@ -3297,7 +3320,7 @@ ___ Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"* -*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L84)* +*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L84)* ___ @@ -3305,11 +3328,13 @@ ___ + + ### EIP1193Event Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L70)* +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md @@ -3326,7 +3351,7 @@ ___ Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L3)* +*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: @@ -3353,7 +3378,7 @@ ___ Ƭ **StateMutability**: *"pure" | "view" | [ConstructorStateMutability](#constructorstatemutability)* -*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L85)* +*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L85)* ___ @@ -3361,7 +3386,7 @@ ___ Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L9)* +*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. @@ -3376,7 +3401,7 @@ ___ Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/ethereum-types/src/index.ts#L11)* +*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)*
@@ -3389,7 +3414,7 @@ ___ • **DEFAULT_TOKEN_PRECISION**: *`18`* = 18 -*Defined in [orderbook/src/order_provider/base_order_provider.ts:9](https://github.com/0xProject/0x-monorepo/blob/11d3d6804/packages/orderbook/src/order_provider/base_order_provider.ts#L9)* +*Defined in [orderbook/src/order_provider/base_order_provider.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/orderbook/src/order_provider/base_order_provider.ts#L9)*
@@ -3412,3 +3437,34 @@ ___ + + + +## Type aliases + + + + + + + + + + + + + + + + + + + + + + + + + +
+ diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index b8998936c9..ab1e33e321 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -1,6 +1,6 @@ { "name": "@0x/asset-swapper", - "version": "2.0.0", + "version": "2.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -40,25 +40,25 @@ }, "homepage": "https://0x.org/asset-swapper", "dependencies": { - "@0x/assert": "^2.1.6", - "@0x/connect": "^5.0.19", - "@0x/contract-addresses": "^3.2.0", - "@0x/contract-wrappers": "^12.1.0", - "@0x/dev-utils": "^2.3.3", - "@0x/json-schemas": "^4.0.2", - "@0x/migrations": "^4.3.2", - "@0x/order-utils": "^8.4.0", - "@0x/orderbook": "^0.0.2", - "@0x/subproviders": "^5.0.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/assert": "^2.2.0-beta.0", + "@0x/connect": "^5.1.0-beta.0", + "@0x/contract-addresses": "^3.3.0-beta.0", + "@0x/contract-wrappers": "^12.2.0-beta.0", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/migrations": "^4.4.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/orderbook": "^0.1.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "devDependencies": { - "@0x/contracts-test-utils": "^3.1.16", + "@0x/contracts-test-utils": "^3.2.0-beta.0", "@0x/mesh-rpc-client": "^4.0.1-beta", "@0x/ts-doc-gen": "^0.0.22", "@0x/tslint-config": "^3.0.1", diff --git a/packages/base-contract/CHANGELOG.json b/packages/base-contract/CHANGELOG.json index e7370d4fb2..1e11866ef6 100644 --- a/packages/base-contract/CHANGELOG.json +++ b/packages/base-contract/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "5.5.0", + "version": "5.5.0-beta.0", "changes": [ { "note": "Automatically decode and throw rich reverts in `_throwIfRevertWithReasonCallResult`", @@ -22,7 +22,8 @@ "note": "Properly encode `BigNumber` indexed filter values in `getTopicsForIndexedArgs()`", "pr": 2155 } - ] + ], + "timestamp": 1570135330 }, { "version": "5.4.0", diff --git a/packages/base-contract/CHANGELOG.md b/packages/base-contract/CHANGELOG.md index 985b8e9aa6..4fcff1d41b 100644 --- a/packages/base-contract/CHANGELOG.md +++ b/packages/base-contract/CHANGELOG.md @@ -5,6 +5,14 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.5.0-beta.0 - _October 3, 2019_ + + * Automatically decode and throw rich reverts in `_throwIfRevertWithReasonCallResult` (#1761) + * Remove dependency on ethers.js (#1761) + * Add more RevertError decoding functions (#1819) + * Make the Promise returned by `awaitTransactionSuccessAsync` compatible with base Promise type (#1885) + * Properly encode `BigNumber` indexed filter values in `getTopicsForIndexedArgs()` (#2155) + ## v5.4.0 - _September 17, 2019_ * Add `evmExecAsync` to use local EVM instead of eth_call for pure functions (#2108) diff --git a/packages/base-contract/package.json b/packages/base-contract/package.json index 4d5cebaa6e..bfb248ed28 100644 --- a/packages/base-contract/package.json +++ b/packages/base-contract/package.json @@ -1,6 +1,6 @@ { "name": "@0x/base-contract", - "version": "5.4.0", + "version": "5.5.0-beta.0", "engines": { "node": ">=6.12" }, @@ -42,12 +42,13 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/assert": "^2.1.6", - "@0x/json-schemas": "^4.0.2", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", + "@0x/assert": "^2.2.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-account": "^3.0.0", "ethereumjs-blockstream": "^7.0.0", "ethereumjs-util": "^5.1.1", diff --git a/packages/base-contract/src/utils/filter_utils.ts b/packages/base-contract/src/utils/filter_utils.ts index db6077c5e6..8611a86541 100644 --- a/packages/base-contract/src/utils/filter_utils.ts +++ b/packages/base-contract/src/utils/filter_utils.ts @@ -1,3 +1,4 @@ +import { IndexedFilterValues } from '@0x/types'; import { BigNumber } from '@0x/utils'; import { BlockRange, ContractAbi, EventAbi, FilterObject, LogEntry } from 'ethereum-types'; import * as ethUtil from 'ethereumjs-util'; @@ -5,8 +6,6 @@ import * as jsSHA3 from 'js-sha3'; import * as _ from 'lodash'; import * as uuid from 'uuid/v4'; -import { IndexedFilterValues } from '../types'; - const TOPIC_LENGTH = 32; export const filterUtils = { diff --git a/packages/connect/CHANGELOG.json b/packages/connect/CHANGELOG.json index 57d0e5bb4a..02b53e52f5 100644 --- a/packages/connect/CHANGELOG.json +++ b/packages/connect/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "5.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "5.0.19", diff --git a/packages/connect/CHANGELOG.md b/packages/connect/CHANGELOG.md index db85e5397a..2a656265d7 100644 --- a/packages/connect/CHANGELOG.md +++ b/packages/connect/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v5.0.19 - _September 17, 2019_ * Dependencies updated diff --git a/packages/connect/docs/reference.mdx b/packages/connect/docs/reference.mdx index 5361208041..5dba505116 100644 --- a/packages/connect/docs/reference.mdx +++ b/packages/connect/docs/reference.mdx @@ -1,206 +1,198 @@ +# Class: HttpClient +This class includes all the functionality related to interacting with a set of HTTP endpoints +that implement the standard relayer API v2 +## Constructors +\+ **new HttpClient**(`url`: string): *[HttpClient](#class-httpclient)* +*Defined in [connect/src/http_client.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L44)* +Instantiates a new HttpClient instance +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`url` | string | The relayer API base HTTP url you would like to interact with | +**Returns:** *[HttpClient](#class-httpclient)* +An instance of HttpClient +## Methods +### getAssetPairsAsync +▸ **getAssetPairsAsync**(`requestOpts?`: `RequestOpts` & `AssetPairsRequestOpts` & `PagedRequestOpts`): *`Promise`* +*Defined in [connect/src/http_client.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L59)* +Retrieve assetData pair info from the API +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`requestOpts?` | `RequestOpts` & `AssetPairsRequestOpts` & `PagedRequestOpts` | Options specifying assetData information to retrieve, page information, and network id. | +**Returns:** *`Promise`* +The resulting AssetPairsResponse that match the request +___ +### getFeeRecipientsAsync +▸ **getFeeRecipientsAsync**(`requestOpts?`: `RequestOpts` & `PagedRequestOpts`): *`Promise`* +*Defined in [connect/src/http_client.ts:160](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L160)* +Retrieve the list of fee recipient addresses used by the relayer. -## Type aliases - - - - +**Parameters:** -### AssetPairsResponse +Name | Type | Description | +------ | ------ | ------ | +`requestOpts?` | `RequestOpts` & `PagedRequestOpts` | Options specifying page information, and network id. | -Ƭ **AssetPairsResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*[AssetPairsItem](#interface-assetpairsitem)*›* +**Returns:** *`Promise`* -*Defined in [types/src/index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L411)* +The resulting FeeRecipientsResponse ___ +### getOrderAsync +▸ **getOrderAsync**(`orderHash`: string, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* +*Defined in [connect/src/http_client.ts:99](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L99)* +Retrieve a specific order from the API -### FeeRecipientsResponse +**Parameters:** -Ƭ **FeeRecipientsResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*string*›* +Name | Type | Description | +------ | ------ | ------ | +`orderHash` | string | An orderHash generated from the desired order | +`requestOpts?` | [RequestOpts](#interface-requestopts) | - | -*Defined in [types/src/index.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L475)* +**Returns:** *`Promise`* + +The APIOrder that matches the supplied orderHash ___ +### getOrderConfigAsync + +▸ **getOrderConfigAsync**(`request`: `OrderConfigRequest`, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* +*Defined in [connect/src/http_client.ts:139](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L139)* +Retrieve fee information from the API +**Parameters:** -### OrdersResponse +Name | Type | Description | +------ | ------ | ------ | +`request` | `OrderConfigRequest` | A OrderConfigRequest instance describing the specific fees to retrieve | +`requestOpts?` | [RequestOpts](#interface-requestopts) | Options specifying network id. | -Ƭ **OrdersResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*[APIOrder](#interface-apiorder)*›* +**Returns:** *`Promise`* -*Defined in [types/src/index.ts:399](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L399)* +The resulting OrderConfigResponse that matches the request ___ +### getOrderbookAsync +▸ **getOrderbookAsync**(`request`: `OrderbookRequest`, `requestOpts?`: `RequestOpts` & `PagedRequestOpts`): *`Promise`* -# Interface: Client +*Defined in [connect/src/http_client.ts:117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L117)* +Retrieve an orderbook from the API -## Implemented by +**Parameters:** -* [HttpClient](#class-httpclient) +Name | Type | Description | +------ | ------ | ------ | +`request` | `OrderbookRequest` | An OrderbookRequest instance describing the specific orderbook to retrieve | +`requestOpts?` | `RequestOpts` & `PagedRequestOpts` | Options specifying page information, and network id. | +**Returns:** *`Promise`* -## Properties +The resulting OrderbookResponse that matches the request -### getAssetPairsAsync +___ -• **getAssetPairsAsync**: *function* +### getOrdersAsync -*Defined in [connect/src/types.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L18)* +▸ **getOrdersAsync**(`requestOpts?`: `RequestOpts` & `OrdersRequestOpts` & `PagedRequestOpts`): *`Promise`* -#### Type declaration: +*Defined in [connect/src/http_client.ts:79](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L79)* -▸ (`requestOpts?`: `AssetPairsRequestOpts` & `PagedRequestOpts`): *`Promise>`* +Retrieve orders from the API **Parameters:** -Name | Type | ------- | ------ | -`requestOpts?` | `AssetPairsRequestOpts` & `PagedRequestOpts` | - -___ - -### getFeeRecipientsAsync - -• **getFeeRecipientsAsync**: *function* - -*Defined in [connect/src/types.ts:25](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L25)* - -#### Type declaration: - -▸ (`requestOpts?`: [PagedRequestOpts](#class-pagedrequestopts)): *`Promise`* +Name | Type | Description | +------ | ------ | ------ | +`requestOpts?` | `RequestOpts` & `OrdersRequestOpts` & `PagedRequestOpts` | Options specifying orders to retrieve and page information, page information, and network id. | -**Parameters:** +**Returns:** *`Promise`* -Name | Type | ------- | ------ | -`requestOpts?` | [PagedRequestOpts](#class-pagedrequestopts) | +The resulting OrdersResponse that match the request ___ -### getOrderAsync - -• **getOrderAsync**: *function* +### submitOrderAsync -*Defined in [connect/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L22)* +▸ **submitOrderAsync**(`signedOrder`: `SignedOrder`, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* -#### Type declaration: +*Defined in [connect/src/http_client.ts:177](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/http_client.ts#L177)* -▸ (`orderHash`: string): *`Promise`* +Submit a signed order to the API **Parameters:** -Name | Type | ------- | ------ | -`orderHash` | string | - -___ - -### getOrderConfigAsync - -• **getOrderConfigAsync**: *function* - -*Defined in [connect/src/types.ts:24](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L24)* - -#### Type declaration: +Name | Type | Description | +------ | ------ | ------ | +`signedOrder` | `SignedOrder` | A SignedOrder instance to submit | +`requestOpts?` | [RequestOpts](#interface-requestopts) | Options specifying network id. | -▸ (`request`: `OrderConfigRequest`): *`Promise`* +**Returns:** *`Promise`* -**Parameters:** +
-Name | Type | ------- | ------ | -`request` | `OrderConfigRequest` | -___ -### getOrderbookAsync -• **getOrderbookAsync**: *function* -*Defined in [connect/src/types.ts:23](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L23)* -#### Type declaration: -▸ (`request`: `OrderbookRequest`, `requestOpts?`: [PagedRequestOpts](#class-pagedrequestopts)): *`Promise`* -**Parameters:** -Name | Type | ------- | ------ | -`request` | `OrderbookRequest` | -`requestOpts?` | [PagedRequestOpts](#class-pagedrequestopts) | -___ -### getOrdersAsync -• **getOrdersAsync**: *function* -*Defined in [connect/src/types.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L21)* -#### Type declaration: -▸ (`requestOpts?`: `OrdersRequestOpts` & `PagedRequestOpts`): *`Promise>`* -**Parameters:** -Name | Type | ------- | ------ | -`requestOpts?` | `OrdersRequestOpts` & `PagedRequestOpts` | -___ -### submitOrderAsync -• **submitOrderAsync**: *function* -*Defined in [connect/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/types.ts#L26)* -#### Type declaration: -▸ (`signedOrder`: `SignedOrder`): *`Promise`* -**Parameters:** -Name | Type | ------- | ------ | -`signedOrder` | `SignedOrder` | -
@@ -217,7 +209,7 @@ Name | Type | • **metaData**: *object* -*Defined in [types/src/index.ts:403](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L403)* +*Defined in [types/src/index.ts:408](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L408)* ___ @@ -225,7 +217,7 @@ ___ • **order**: *[SignedOrder](#class-signedorder)* -*Defined in [types/src/index.ts:402](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L402)* +*Defined in [types/src/index.ts:407](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L407)*
@@ -273,188 +265,23 @@ ___ - - - - - - - - -# Class: HttpClient - -This class includes all the functionality related to interacting with a set of HTTP endpoints -that implement the standard relayer API v2 - - -## Implements - -* [Client](#interface-client) - - -## Constructors - - - -\+ **new HttpClient**(`url`: string): *[HttpClient](#class-httpclient)* - -*Defined in [connect/src/http_client.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/http_client.ts#L44)* - -Instantiates a new HttpClient instance - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`url` | string | The relayer API base HTTP url you would like to interact with | - -**Returns:** *[HttpClient](#class-httpclient)* - -An instance of HttpClient - -## Methods - -### getAssetPairsAsync - -▸ **getAssetPairsAsync**(`requestOpts?`: `RequestOpts` & `AssetPairsRequestOpts` & `PagedRequestOpts`): *`Promise`* - -*Defined in [connect/src/http_client.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/http_client.ts#L59)* - -Retrieve assetData pair info from the API - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`requestOpts?` | `RequestOpts` & `AssetPairsRequestOpts` & `PagedRequestOpts` | Options specifying assetData information to retrieve, page information, and network id. | - -**Returns:** *`Promise`* - -The resulting AssetPairsResponse that match the request - -___ - -### getFeeRecipientsAsync - -▸ **getFeeRecipientsAsync**(`requestOpts?`: `RequestOpts` & `PagedRequestOpts`): *`Promise`* - -*Defined in [connect/src/http_client.ts:160](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/http_client.ts#L160)* - -Retrieve the list of fee recipient addresses used by the relayer. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`requestOpts?` | `RequestOpts` & `PagedRequestOpts` | Options specifying page information, and network id. | - -**Returns:** *`Promise`* - -The resulting FeeRecipientsResponse - -___ - -### getOrderAsync - -▸ **getOrderAsync**(`orderHash`: string, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* - -*Defined in [connect/src/http_client.ts:99](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/http_client.ts#L99)* - -Retrieve a specific order from the API - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`orderHash` | string | An orderHash generated from the desired order | -`requestOpts?` | [RequestOpts](#interface-requestopts) | - | - -**Returns:** *`Promise`* - -The APIOrder that matches the supplied orderHash - -___ - -### getOrderConfigAsync - -▸ **getOrderConfigAsync**(`request`: `OrderConfigRequest`, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* - -*Defined in [connect/src/http_client.ts:139](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/http_client.ts#L139)* - -Retrieve fee information from the API - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`request` | `OrderConfigRequest` | A OrderConfigRequest instance describing the specific fees to retrieve | -`requestOpts?` | [RequestOpts](#interface-requestopts) | Options specifying network id. | - -**Returns:** *`Promise`* - -The resulting OrderConfigResponse that matches the request - -___ - -### getOrderbookAsync - -▸ **getOrderbookAsync**(`request`: `OrderbookRequest`, `requestOpts?`: `RequestOpts` & `PagedRequestOpts`): *`Promise`* - -*Defined in [connect/src/http_client.ts:117](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/http_client.ts#L117)* - -Retrieve an orderbook from the API - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`request` | `OrderbookRequest` | An OrderbookRequest instance describing the specific orderbook to retrieve | -`requestOpts?` | `RequestOpts` & `PagedRequestOpts` | Options specifying page information, and network id. | - -**Returns:** *`Promise`* - -The resulting OrderbookResponse that matches the request -___ -### getOrdersAsync -▸ **getOrdersAsync**(`requestOpts?`: `RequestOpts` & `OrdersRequestOpts` & `PagedRequestOpts`): *`Promise`* -*Defined in [connect/src/http_client.ts:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/http_client.ts#L79)* + -Retrieve orders from the API -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`requestOpts?` | `RequestOpts` & `OrdersRequestOpts` & `PagedRequestOpts` | Options specifying orders to retrieve and page information, page information, and network id. | -**Returns:** *`Promise`* - -The resulting OrdersResponse that match the request - -___ -### submitOrderAsync -▸ **submitOrderAsync**(`signedOrder`: `SignedOrder`, `requestOpts?`: [RequestOpts](#interface-requestopts)): *`Promise`* -*Defined in [connect/src/http_client.ts:177](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/http_client.ts#L177)* -Submit a signed order to the API -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`signedOrder` | `SignedOrder` | A SignedOrder instance to submit | -`requestOpts?` | [RequestOpts](#interface-requestopts) | Options specifying network id. | -**Returns:** *`Promise`* -
@@ -493,7 +320,7 @@ Name | Type | Description | • **page**? : *undefined | number* -*Defined in [types/src/index.ts:482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L482)* +*Defined in [types/src/index.ts:491](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L491)* ___ @@ -501,7 +328,7 @@ ___ • **perPage**? : *undefined | number* -*Defined in [types/src/index.ts:483](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L483)* +*Defined in [types/src/index.ts:492](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L492)*
@@ -518,7 +345,7 @@ ___ • **page**: *number* -*Defined in [types/src/index.ts:452](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L452)* +*Defined in [types/src/index.ts:459](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L459)* ___ @@ -526,7 +353,7 @@ ___ • **perPage**: *number* -*Defined in [types/src/index.ts:453](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L453)* +*Defined in [types/src/index.ts:460](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L460)* ___ @@ -534,7 +361,7 @@ ___ • **records**: *`T`[]* -*Defined in [types/src/index.ts:454](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L454)* +*Defined in [types/src/index.ts:461](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L461)* ___ @@ -542,7 +369,7 @@ ___ • **total**: *number* -*Defined in [types/src/index.ts:451](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L451)* +*Defined in [types/src/index.ts:458](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L458)*
@@ -559,7 +386,7 @@ ___ • **networkId**? : *undefined | number* -*Defined in [types/src/index.ts:478](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L478)* +*Defined in [types/src/index.ts:487](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L487)*
@@ -568,13 +395,23 @@ ___ ## Properties +### chainId + +• **chainId**: *number* + +*Inherited from [Order](#interface-order).[chainId](#chainid)* + +*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L14)* + +___ + ### exchangeAddress • **exchangeAddress**: *string* *Inherited from [Order](#interface-order).[exchangeAddress](#exchangeaddress)* -*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L20)* +*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L15)* ___ @@ -584,7 +421,7 @@ ___ *Inherited from [Order](#interface-order).[expirationTimeSeconds](#expirationtimeseconds)* -*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L22)* +*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L24)* ___ @@ -594,7 +431,7 @@ ___ *Inherited from [Order](#interface-order).[feeRecipientAddress](#feerecipientaddress)* -*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L21)* +*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L18)* ___ @@ -604,7 +441,7 @@ ___ *Inherited from [Order](#interface-order).[makerAddress](#makeraddress)* -*Defined in [types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L11)* +*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L16)* ___ @@ -614,7 +451,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetAmount](#makerassetamount)* -*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L15)* +*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L20)* ___ @@ -624,7 +461,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetData](#makerassetdata)* -*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L17)* +*Defined in [types/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L26)* ___ @@ -634,7 +471,17 @@ ___ *Inherited from [Order](#interface-order).[makerFee](#makerfee)* -*Defined in [types/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L13)* +*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L22)* + +___ + +### makerFeeAssetData + +• **makerFeeAssetData**: *string* + +*Inherited from [Order](#interface-order).[makerFeeAssetData](#makerfeeassetdata)* + +*Defined in [types/src/index.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L28)* ___ @@ -644,7 +491,7 @@ ___ *Inherited from [Order](#interface-order).[salt](#salt)* -*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L19)* +*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L25)* ___ @@ -654,7 +501,7 @@ ___ *Inherited from [Order](#interface-order).[senderAddress](#senderaddress)* -*Defined in [types/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L10)* +*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L19)* ___ @@ -662,7 +509,7 @@ ___ • **signature**: *string* -*Defined in [types/src/index.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L41)* +*Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L33)* ___ @@ -672,7 +519,7 @@ ___ *Inherited from [Order](#interface-order).[takerAddress](#takeraddress)* -*Defined in [types/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L12)* +*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L17)* ___ @@ -682,7 +529,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetAmount](#takerassetamount)* -*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L16)* +*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L21)* ___ @@ -692,7 +539,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetData](#takerassetdata)* -*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L18)* +*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L27)* ___ @@ -702,12 +549,19 @@ ___ *Inherited from [Order](#interface-order).[takerFee](#takerfee)* -*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L14)* +*Defined in [types/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L23)* -
+___ +### takerFeeAssetData +• **takerFeeAssetData**: *string* +*Inherited from [Order](#interface-order).[takerFeeAssetData](#takerfeeassetdata)* + +*Defined in [types/src/index.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L29)* + +
@@ -754,7 +608,6 @@ ___ -
@@ -769,13 +622,13 @@ ___ #### ▪ **ordersChannelFactory**: *object* -*Defined in [connect/src/orders_channel_factory.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/orders_channel_factory.ts#L7)* +*Defined in [connect/src/orders_channel_factory.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/orders_channel_factory.ts#L7)* #### createWebSocketOrdersChannelAsync ▸ **createWebSocketOrdersChannelAsync**(`url`: string, `handler`: [OrdersChannelHandler](#interface-orderschannelhandler)): *`Promise`* -*Defined in [connect/src/orders_channel_factory.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/connect/src/orders_channel_factory.ts#L15)* +*Defined in [connect/src/orders_channel_factory.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/connect/src/orders_channel_factory.ts#L15)* Instantiates a new WebSocketOrdersChannel instance @@ -792,3 +645,52 @@ An OrdersChannel Promise
+ + +
+ + + + +## Type aliases + + + + + +### AssetPairsResponse + +Ƭ **AssetPairsResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*[AssetPairsItem](#interface-assetpairsitem)*›* + +*Defined in [types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L416)* + +___ + + + + + + + +### FeeRecipientsResponse + +Ƭ **FeeRecipientsResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*string*›* + +*Defined in [types/src/index.ts:484](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L484)* + +___ + + + + + +### OrdersResponse + +Ƭ **OrdersResponse**: *[PaginatedCollection](#interface-paginatedcollection)‹*[APIOrder](#interface-apiorder)*›* + +*Defined in [types/src/index.ts:404](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L404)* + +___ + + + diff --git a/packages/connect/package.json b/packages/connect/package.json index 63b05c56ba..cbe00d57d5 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -1,6 +1,6 @@ { "name": "@0x/connect", - "version": "5.0.19", + "version": "5.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -48,12 +48,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/connect/README.md", "dependencies": { - "@0x/assert": "^2.1.6", - "@0x/json-schemas": "^4.0.2", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", + "@0x/assert": "^2.2.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", "lodash": "^4.17.11", "query-string": "^6.0.0", "sinon": "^4.0.0", diff --git a/packages/connect/src/http_client.ts b/packages/connect/src/http_client.ts index 2a2d2b3072..136bf72eb0 100644 --- a/packages/connect/src/http_client.ts +++ b/packages/connect/src/http_client.ts @@ -19,7 +19,7 @@ import { fetchAsync } from '@0x/utils'; import * as _ from 'lodash'; import * as queryString from 'query-string'; -import { Client, HttpRequestOptions, HttpRequestType } from './types'; +import { HttpRequestOptions, HttpRequestType } from './types'; import { relayerResponseJsonParsers } from './utils/relayer_response_json_parsers'; const TRAILING_SLASHES_REGEX = /\/+$/; @@ -28,7 +28,7 @@ const TRAILING_SLASHES_REGEX = /\/+$/; * This class includes all the functionality related to interacting with a set of HTTP endpoints * that implement the standard relayer API v2 */ -export class HttpClient implements Client { +export class HttpClient { private readonly _apiEndpointUrl: string; /** * Format parameters to be appended to http requests into query string form diff --git a/packages/connect/src/index.ts b/packages/connect/src/index.ts index f319d63cb2..517678bd52 100644 --- a/packages/connect/src/index.ts +++ b/packages/connect/src/index.ts @@ -1,6 +1,6 @@ export { HttpClient } from './http_client'; export { ordersChannelFactory } from './orders_channel_factory'; -export { Client, OrdersChannel, OrdersChannelHandler } from './types'; +export { OrdersChannel, OrdersChannelHandler } from './types'; export { APIOrder, AssetPairsRequestOpts, diff --git a/packages/connect/src/types.ts b/packages/connect/src/types.ts index 08a4506ac4..5e990de9e7 100644 --- a/packages/connect/src/types.ts +++ b/packages/connect/src/types.ts @@ -1,30 +1,4 @@ -import { - APIOrder, - AssetPairsItem, - AssetPairsRequestOpts, - FeeRecipientsResponse, - OrderbookRequest, - OrderbookResponse, - OrderConfigRequest, - OrderConfigResponse, - OrdersChannelSubscriptionOpts, - OrdersRequestOpts, - PagedRequestOpts, - PaginatedCollection, - SignedOrder, -} from '@0x/types'; - -export interface Client { - getAssetPairsAsync: ( - requestOpts?: AssetPairsRequestOpts & PagedRequestOpts, - ) => Promise>; - getOrdersAsync: (requestOpts?: OrdersRequestOpts & PagedRequestOpts) => Promise>; - getOrderAsync: (orderHash: string) => Promise; - getOrderbookAsync: (request: OrderbookRequest, requestOpts?: PagedRequestOpts) => Promise; - getOrderConfigAsync: (request: OrderConfigRequest) => Promise; - getFeeRecipientsAsync: (requestOpts?: PagedRequestOpts) => Promise; - submitOrderAsync: (signedOrder: SignedOrder) => Promise; -} +import { APIOrder, OrdersChannelSubscriptionOpts } from '@0x/types'; export interface OrdersChannel { subscribe: (subscriptionOpts: OrdersChannelSubscriptionOpts) => void; diff --git a/packages/connect/test/fixtures/standard_relayer_api/order_config.json b/packages/connect/test/fixtures/standard_relayer_api/order_config.json index 39da91e6d7..ad2c2cd827 100644 --- a/packages/connect/test/fixtures/standard_relayer_api/order_config.json +++ b/packages/connect/test/fixtures/standard_relayer_api/order_config.json @@ -2,5 +2,7 @@ "senderAddress": "0xa2b31dacf30a9c50ca473337c01d8a201ae33e32", "feeRecipientAddress": "0xb046140686d052fff581f63f8136cce132e857da", "makerFee": "100000000000000", - "takerFee": "200000000000000" + "takerFee": "200000000000000", + "makerFeeAssetData": "0xf47261b04c32345ced77393b3530b1eed0f346429d", + "takerFeeAssetData": "0xf47261b04c32345ced77393b3530b1eed0f346429d" } diff --git a/packages/connect/test/fixtures/standard_relayer_api/order_config.ts b/packages/connect/test/fixtures/standard_relayer_api/order_config.ts index 2290c39c0b..94dcde71f8 100644 --- a/packages/connect/test/fixtures/standard_relayer_api/order_config.ts +++ b/packages/connect/test/fixtures/standard_relayer_api/order_config.ts @@ -7,4 +7,6 @@ export const orderConfigResponse: OrderConfigResponse = { feeRecipientAddress: '0xb046140686d052fff581f63f8136cce132e857da', makerFee: new BigNumber('100000000000000'), takerFee: new BigNumber('200000000000000'), + makerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', + takerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', }; diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 784a6273a3..0450bcc83d 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "4.0.0", + "version": "3.3.0-beta.0", "changes": [ { "note": "Removed `getNetworkIdByExchangeAddressOrThrow`. It's not needed with V3 tooling.", @@ -14,7 +14,8 @@ "note": "Update `assetProxyOwner` address for each testnet", "pr": 2224 } - ] + ], + "timestamp": 1570135330 }, { "version": "3.2.0", diff --git a/packages/contract-addresses/CHANGELOG.md b/packages/contract-addresses/CHANGELOG.md index 5e8c1a25b4..1237f7d52c 100644 --- a/packages/contract-addresses/CHANGELOG.md +++ b/packages/contract-addresses/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.3.0-beta.0 - _October 3, 2019_ + + * Removed `getNetworkIdByExchangeAddressOrThrow`. It's not needed with V3 tooling. (#2170) + ## v3.2.0 - _September 17, 2019_ * Added `getNetworkIdByExchangeAddressOrThrow` (#2096) diff --git a/packages/contract-addresses/package.json b/packages/contract-addresses/package.json index 755f6ff503..2bd3ae8400 100644 --- a/packages/contract-addresses/package.json +++ b/packages/contract-addresses/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-addresses", - "version": "3.2.0", + "version": "3.3.0-beta.0", "engines": { "node": ">=6.12" }, diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index d0bf29f7e0..a80bc70cbc 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -39,22 +39,22 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { exchange: NULL_ADDRESS, erc20Proxy: '0x95e6f48254609a6ee006f7d493c8e5fb97094cef', erc721Proxy: '0xefc70a1b18c432bdc64b596838b4d138f6bc6cad', - forwarder: '0x76481caa104b5f6bccb540dae4cefaf1c398ebea', - orderValidator: '0xa09329c6003c9a5402102e226417738ee22cf1f2', + forwarder: NULL_ADDRESS, + orderValidator: NULL_ADDRESS, zrxToken: '0xe41d2489571d322189246dafa5ebde1f4699f498', etherToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - assetProxyOwner: '0xdffe798c7172dd6deb32baee68af322e8f495ce0', - dutchAuction: '0xa3856622276a64fee0f17f67329fac24368d4aae', + assetProxyOwner: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x45797531b873fd5e519477a070a955764c1a5b07', - coordinator: '0xa14857e8930acd9a882d33ec20559beb5479c8a6', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xef701d5389ae74503d633396c4d654eabedc9d78', staticCallProxy: '0x3517b88c19508c08650616019062b898ab65ed29', erc1155Proxy: '0x7eefbd48fd63d441ec7435d024ec7c5131019add', - devUtils: '0x92d9a4d50190ae04e03914db2ee650124af844e6', zrxVault: NULL_ADDRESS, readOnlyProxy: NULL_ADDRESS, staking: NULL_ADDRESS, stakingProxy: NULL_ADDRESS, + devUtils: NULL_ADDRESS, }, 3: { erc20Proxy: '0xb1408f4c245a23c31b98d2c626777d4c0d766caa', @@ -64,15 +64,15 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { exchangeV2: '0xbff9493f92a3df4b0429b6d00743b3cfb4c85831', exchange: '0x725bc2f8c85ed0289d3da79cde3125d33fc1d7e6', assetProxyOwner: '0xdcf20f7b447d51f2b3e5499b7f6cbbf7295a5d26', - forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', - orderValidator: '0x6eb6237350f3c110c96223e6ff9db55532525d2b', - dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', + forwarder: '0x31c3890769ed3bb30b2781fd238a5bb7ecfeb7c8', + orderValidator: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x403cc23e88c17c4652fb904784d1af640a6722d9', - coordinator: '0x2ba02e03ee0029311e0f43715307870a3e701b53', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xab8fbd189c569ccdee3a4d929bb7f557be4028f6', staticCallProxy: '0xe1b97e47aa3796276033a5341e884d2ba46b6ac1', erc1155Proxy: '0x19bb6caa3bc34d39e5a23cedfa3e6c7e7f3c931d', - devUtils: '0x3e0b46bad8e374e4a110c12b832cb120dbe4a479', + devUtils: '0x3dfd5157eec10eb1a357c1074de30787ce92cb43', zrxVault: '0xffd161026865ad8b4ab28a76840474935eec4dfa', readOnlyProxy: '0x8e1dfaf747b804d041adaed79d68dcef85b8de85', staking: '0xb2ca5824630e526f0f3181a4ea0447c795a84411', @@ -86,15 +86,15 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { zrxToken: '0x8080c7e4b81ecf23aa6f877cfbfd9b0c228c6ffa', etherToken: '0xc778417e063141139fce010982780140aa0cd5ab', assetProxyOwner: '0x5d751aa855a1aee5fe44cf5350ed25b5727b66ae', - forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', - orderValidator: '0x6eb6237350f3c110c96223e6ff9db55532525d2b', - dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', + forwarder: '0xc6db36aeb96a2eb52079c342c3a980c83dea8e3c', + orderValidator: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x1084b6a398e47907bae43fec3ff4b677db6e4fee', - coordinator: '0x2ba02e03ee0029311e0f43715307870a3e701b53', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xb34cde0ad3a83d04abebc0b66e75196f22216621', staticCallProxy: '0xe1b97e47aa3796276033a5341e884d2ba46b6ac1', erc1155Proxy: '0x19bb6caa3bc34d39e5a23cedfa3e6c7e7f3c931d', - devUtils: '0x2d4a9abda7b8b3605c8dbd34e3550a7467c78287', + devUtils: '0xcfc66b8e75e8f075c3e1d61e6487d73dfe35d808', zrxVault: '0xa5bf6ac73bc40790fc6ffc9dbbbce76c9176e224', readOnlyProxy: '0xffd161026865ad8b4ab28a76840474935eec4dfa', staking: '0x8ec5a989a06432dace637c8d592727627a45a592', @@ -108,11 +108,11 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { exchangeV2: '0x30589010550762d2f0d06f650d8e8b6ade6dbf4b', exchange: '0x617602cd3f734cf1e028c96b3f54c0489bed8022', assetProxyOwner: '0x3654e5363cd75c8974c76208137df9691e820e97', - forwarder: '0x1ebdc9758e85c1c6a85af06cc96cf89000a31913', - orderValidator: '0xbcd49bf9b75cab056610fab3c788e8ce1b209f30', - dutchAuction: '0xe5f862f7811af180990025b6259b02feb0a0b8dc', + forwarder: '0x4c4edb103a6570fa4b58a309d7ff527b7d9f7cf2', + orderValidator: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x09fb99968c016a3ff537bf58fb3d9fe55a7975d5', - coordinator: '0x2ba02e03ee0029311e0f43715307870a3e701b53', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xf6313a772c222f51c28f2304c0703b8cf5428fd8', staticCallProxy: '0x48e94bdb9033640d45ea7c721e25f380f8bffa43', erc1155Proxy: '0x64517fa2b480ba3678a2a3c0cf08ef7fd4fad36f', @@ -130,13 +130,13 @@ const networkToAddresses: { [networkId: number]: ContractAddresses } = { zrxToken: '0x871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c', etherToken: '0x0b1ba0af832d7c05fd64161e0db78e85978e8082', exchangeV2: '0x48bacb9266a570d521063ef5dd96e61686dbe788', - exchange: NULL_ADDRESS, - assetProxyOwner: '0x8d42e38980ce74736c21c059b2240df09958d3c8', - forwarder: '0xaa86dda78e9434aca114b6676fc742a18d15a1cc', - orderValidator: '0x4d3d5c850dd5bd9d6f4adda3dd039a3c8054ca29', - dutchAuction: '0xa31e64ea55b9b6bbb9d6a676738e9a5b23149f84', + exchange: '0x48bacb9266a570d521063ef5dd96e61686dbe788', + assetProxyOwner: NULL_ADDRESS, + forwarder: NULL_ADDRESS, + orderValidator: NULL_ADDRESS, + dutchAuction: NULL_ADDRESS, coordinatorRegistry: '0x1941ff73d1154774d87521d2d0aaad5d19c8df60', - coordinator: '0x0d8b0dd11f5d34ed41d556def5f841900d5b1c6b', + coordinator: NULL_ADDRESS, multiAssetProxy: '0xcfc18cec799fbd1793b5c43e773c98d4d61cc2db', staticCallProxy: '0x6dfff22588be9b3ef8cf0ad6dc9b84796f9fb45f', devUtils: '0x38ef19fdf8e8415f18c307ed71967e19aac28ba1', diff --git a/packages/contract-artifacts/CHANGELOG.json b/packages/contract-artifacts/CHANGELOG.json index 7fa5e3441b..3d4216c4ba 100644 --- a/packages/contract-artifacts/CHANGELOG.json +++ b/packages/contract-artifacts/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "3.0.0", + "version": "2.3.0-beta.0", "changes": [ { "note": "Use V3 contracts", @@ -10,7 +10,8 @@ "note": "Add `deployedBytecode` field", "pr": 2181 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/contract-artifacts/CHANGELOG.md b/packages/contract-artifacts/CHANGELOG.md index 760978e066..4805ebf53d 100644 --- a/packages/contract-artifacts/CHANGELOG.md +++ b/packages/contract-artifacts/CHANGELOG.md @@ -5,6 +5,11 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.3.0-beta.0 - _October 3, 2019_ + + * Use V3 contracts (#2181) + * Add `deployedBytecode` field (#2181) + ## v2.2.2 - _September 17, 2019_ * Dependencies updated diff --git a/packages/contract-artifacts/artifacts/AssetProxyOwner.json b/packages/contract-artifacts/artifacts/AssetProxyOwner.json index 7c646f3d50..ab2a707972 100644 --- a/packages/contract-artifacts/artifacts/AssetProxyOwner.json +++ b/packages/contract-artifacts/artifacts/AssetProxyOwner.json @@ -4,78 +4,132 @@ "compilerOutput": { "abi": [ { - "constant": true, - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "owners", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "inputs": [ + { "internalType": "bytes4[]", "name": "_functionSelectors", "type": "bytes4[]" }, + { "internalType": "address[]", "name": "_destinations", "type": "address[]" }, + { "internalType": "uint128[]", "name": "_functionCallTimeLockSeconds", "type": "uint128[]" }, + { "internalType": "address[]", "name": "_owners", "type": "address[]" }, + { "internalType": "uint256", "name": "_required", "type": "uint256" }, + { "internalType": "uint256", "name": "_defaultSecondsTimeLocked", "type": "uint256" } + ], "payable": false, - "stateMutability": "view", - "type": "function" + "stateMutability": "nonpayable", + "type": "constructor" }, { - "constant": false, - "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], - "name": "removeOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, + { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } + ], + "name": "Confirmation", + "type": "event" }, { - "constant": false, - "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "revokeConfirmation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }, + { "indexed": false, "internalType": "uint256", "name": "confirmationTime", "type": "uint256" } + ], + "name": "ConfirmationTimeSet", + "type": "event" }, { - "constant": true, - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "isOwner", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "payable": false, - "stateMutability": "view", - "type": "function" + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, + { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "name": "Deposit", + "type": "event" }, { - "constant": true, + "anonymous": false, + "inputs": [{ "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }], + "name": "Execution", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }], + "name": "ExecutionFailure", + "type": "event" + }, + { + "anonymous": false, "inputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "address", "name": "", "type": "address" } + { "indexed": false, "internalType": "bytes4", "name": "functionSelector", "type": "bytes4" }, + { "indexed": false, "internalType": "address", "name": "destination", "type": "address" }, + { "indexed": false, "internalType": "bool", "name": "hasCustomTimeLock", "type": "bool" }, + { "indexed": false, "internalType": "uint128", "name": "newSecondsTimeLocked", "type": "uint128" } ], - "name": "confirmations", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "payable": false, - "stateMutability": "view", - "type": "function" + "name": "FunctionCallTimeLockRegistration", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ "indexed": true, "internalType": "address", "name": "owner", "type": "address" }], + "name": "OwnerAddition", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ "indexed": true, "internalType": "address", "name": "owner", "type": "address" }], + "name": "OwnerRemoval", + "type": "event" }, + { + "anonymous": false, + "inputs": [{ "indexed": false, "internalType": "uint256", "name": "required", "type": "uint256" }], + "name": "RequirementChange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, + { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } + ], + "name": "Revocation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }], + "name": "Submission", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": false, "internalType": "uint256", "name": "secondsTimeLocked", "type": "uint256" } + ], + "name": "TimeLockChange", + "type": "event" + }, + { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "constant": true, "inputs": [], - "name": "secondsTimeLocked", + "name": "MAX_OWNER_COUNT", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, - "inputs": [ - { "internalType": "bool", "name": "pending", "type": "bool" }, - { "internalType": "bool", "name": "executed", "type": "bool" } - ], - "name": "getTransactionCount", - "outputs": [{ "internalType": "uint256", "name": "count", "type": "uint256" }], + "constant": false, + "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], + "name": "addOwner", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "constant": false, - "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], - "name": "addOwner", + "inputs": [{ "internalType": "uint256", "name": "_required", "type": "uint256" }], + "name": "changeRequirement", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -83,22 +137,38 @@ }, { "constant": false, - "inputs": [ - { "internalType": "bool", "name": "hasCustomTimeLock", "type": "bool" }, - { "internalType": "bytes4", "name": "functionSelector", "type": "bytes4" }, - { "internalType": "address", "name": "destination", "type": "address" }, - { "internalType": "uint128", "name": "newSecondsTimeLocked", "type": "uint128" } - ], - "name": "registerFunctionCall", + "inputs": [{ "internalType": "uint256", "name": "_secondsTimeLocked", "type": "uint256" }], + "name": "changeTimeLock", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": true, + "constant": false, "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "isConfirmed", + "name": "confirmTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "confirmationTimes", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { "internalType": "uint256", "name": "", "type": "uint256" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "confirmations", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, "stateMutability": "view", @@ -106,8 +176,8 @@ }, { "constant": false, - "inputs": [{ "internalType": "uint256", "name": "_secondsTimeLocked", "type": "uint256" }], - "name": "changeTimeLock", + "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], + "name": "executeTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -139,14 +209,9 @@ }, { "constant": true, - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "transactions", - "outputs": [ - { "internalType": "address", "name": "destination", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" }, - { "internalType": "bytes", "name": "data", "type": "bytes" }, - { "internalType": "bool", "name": "executed", "type": "bool" } - ], + "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], + "name": "getConfirmations", + "outputs": [{ "internalType": "address[]", "name": "_confirmations", "type": "address[]" }], "payable": false, "stateMutability": "view", "type": "function" @@ -160,6 +225,18 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [ + { "internalType": "bool", "name": "pending", "type": "bool" }, + { "internalType": "bool", "name": "executed", "type": "bool" } + ], + "name": "getTransactionCount", + "outputs": [{ "internalType": "uint256", "name": "count", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [ @@ -177,25 +254,39 @@ { "constant": true, "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "getConfirmations", - "outputs": [{ "internalType": "address[]", "name": "_confirmations", "type": "address[]" }], + "name": "isConfirmed", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, - "inputs": [], - "name": "transactionCount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "isOwner", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "owners", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, - "inputs": [{ "internalType": "uint256", "name": "_required", "type": "uint256" }], - "name": "changeRequirement", + "inputs": [ + { "internalType": "bool", "name": "hasCustomTimeLock", "type": "bool" }, + { "internalType": "bytes4", "name": "functionSelector", "type": "bytes4" }, + { "internalType": "address", "name": "destination", "type": "address" }, + { "internalType": "uint128", "name": "newSecondsTimeLocked", "type": "uint128" } + ], + "name": "registerFunctionCall", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -203,8 +294,8 @@ }, { "constant": false, - "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "confirmTransaction", + "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], + "name": "removeOwner", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -213,38 +304,37 @@ { "constant": false, "inputs": [ - { "internalType": "address", "name": "destination", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "newOwner", "type": "address" } ], - "name": "submitTransaction", - "outputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], + "name": "replaceOwner", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "confirmationTimes", + "inputs": [], + "name": "required", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": true, - "inputs": [], - "name": "MAX_OWNER_COUNT", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "constant": false, + "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], + "name": "revokeConfirmation", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], - "name": "required", + "name": "secondsTimeLocked", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", @@ -253,128 +343,38 @@ { "constant": false, "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "newOwner", "type": "address" } + { "internalType": "address", "name": "destination", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } ], - "name": "replaceOwner", - "outputs": [], + "name": "submitTransaction", + "outputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, - "inputs": [{ "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "executeTransaction", - "outputs": [], + "constant": true, + "inputs": [], + "name": "transactionCount", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { - "inputs": [ - { "internalType": "bytes4[]", "name": "_functionSelectors", "type": "bytes4[]" }, - { "internalType": "address[]", "name": "_destinations", "type": "address[]" }, - { "internalType": "uint128[]", "name": "_functionCallTimeLockSeconds", "type": "uint128[]" }, - { "internalType": "address[]", "name": "_owners", "type": "address[]" }, - { "internalType": "uint256", "name": "_required", "type": "uint256" }, - { "internalType": "uint256", "name": "_defaultSecondsTimeLocked", "type": "uint256" } + "constant": true, + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "transactions", + "outputs": [ + { "internalType": "address", "name": "destination", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" }, + { "internalType": "bytes", "name": "data", "type": "bytes" }, + { "internalType": "bool", "name": "executed", "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { "payable": true, "stateMutability": "payable", "type": "fallback" }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "bytes4", "name": "functionSelector", "type": "bytes4" }, - { "indexed": false, "internalType": "address", "name": "destination", "type": "address" }, - { "indexed": false, "internalType": "bool", "name": "hasCustomTimeLock", "type": "bool" }, - { "indexed": false, "internalType": "uint128", "name": "newSecondsTimeLocked", "type": "uint128" } - ], - "name": "FunctionCallTimeLockRegistration", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "confirmationTime", "type": "uint256" } - ], - "name": "ConfirmationTimeSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint256", "name": "secondsTimeLocked", "type": "uint256" } - ], - "name": "TimeLockChange", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } - ], - "name": "Confirmation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" } - ], - "name": "Revocation", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "Submission", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "Execution", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "uint256", "name": "transactionId", "type": "uint256" }], - "name": "ExecutionFailure", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "address", "name": "owner", "type": "address" }], - "name": "OwnerAddition", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "address", "name": "owner", "type": "address" }], - "name": "OwnerRemoval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint256", "name": "required", "type": "uint256" }], - "name": "RequirementChange", - "type": "event" + "stateMutability": "view", + "type": "function" } ], "devdoc": { @@ -480,16 +480,16 @@ }, "evm": { "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040516200348d3803806200348d8339810160408190526200003491620005c3565b8282828282815181603282111580156200004e5750818111155b80156200005a57508015155b80156200006657508115155b620000a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200009f906200074a565b60405180910390fd5b60005b8451811015620001a95760026000868381518110620000c657fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff1615801562000122575060006001600160a01b03168582815181106200010e57fe5b60200260200101516001600160a01b031614155b6200015b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200009f90620006dc565b6001600260008784815181106200016e57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101620000ab565b508351620001bf9060039060208701906200037d565b5050506004555060065550508551855181148015620001de5750845181145b62000217576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200009f9062000713565b60005b8181146200027c576200027360018983815181106200023557fe5b60200260200101518984815181106200024a57fe5b60200260200101518985815181106200025f57fe5b60200260200101516200028a60201b60201c565b6001016200021a565b5050505050505050620007c9565b6000846200029a5760006200029c565b815b9050620002a8620003e7565b5060408051808201825286151581526001600160801b0380841660208084019182527fffffffff0000000000000000000000000000000000000000000000000000000089166000908152600882528581206001600160a01b038a16825290915284902083518154925190931661010002610100600160881b031993151560ff19909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec906200036d90879087908a90879062000689565b60405180910390a1505050505050565b828054828255906000526020600020908101928215620003d5579160200282015b82811115620003d557825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200039e565b50620003e3929150620003fe565b5090565b604080518082019091526000808252602082015290565b6200042591905b80821115620003e35780546001600160a01b031916815560010162000405565b90565b600082601f83011262000439578081fd5b8151620004506200044a82620007a8565b62000781565b8181529150602080830190848101818402860182018710156200047257600080fd5b60005b84811015620004a95781516001600160a01b03811681146200049657600080fd5b8452928201929082019060010162000475565b505050505092915050565b600082601f830112620004c5578081fd5b8151620004d66200044a82620007a8565b818152915060208083019084810181840286018201871015620004f857600080fd5b60005b84811015620004a95781517fffffffff00000000000000000000000000000000000000000000000000000000811681146200053557600080fd5b84529282019290820190600101620004fb565b600082601f83011262000559578081fd5b81516200056a6200044a82620007a8565b8181529150602080830190848101818402860182018710156200058c57600080fd5b60005b84811015620004a95781516001600160801b0381168114620005b057600080fd5b845292820192908201906001016200058f565b60008060008060008060c08789031215620005dc578182fd5b86516001600160401b0380821115620005f3578384fd5b620006018a838b01620004b4565b9750602089015191508082111562000617578384fd5b620006258a838b0162000428565b965060408901519150808211156200063b578384fd5b620006498a838b0162000548565b955060608901519150808211156200065f578384fd5b506200066e89828a0162000428565b9350506080870151915060a087015190509295509295509295565b7fffffffff000000000000000000000000000000000000000000000000000000009490941684526001600160a01b03929092166020840152151560408301526001600160801b0316606082015260800190565b60208082526017908201527f4455504c49434154455f4f525f4e554c4c5f4f574e4552000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b6040518181016001600160401b0381118282101715620007a057600080fd5b604052919050565b60006001600160401b03821115620007bf57600080fd5b5060209081020190565b612cb480620007d96000396000f3fe6080604052600436106101a15760003560e01c80639ace38c2116100e1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd146104ff578063dc8452cd14610514578063e20056e614610529578063ee22610b14610549576101a1565b8063c01a8c841461049f578063c6427474146104bf578063d38f2d82146104df576101a1565b8063b5dc40c3116100bb578063b5dc40c31461044a578063b77bf6001461046a578063ba51a6df1461047f576101a1565b80639ace38c2146103cb578063a0e67e2b146103fb578063a8abe69a1461041d576101a1565b8063547415251161014e578063784547a711610128578063784547a71461033d5780637ad28c511461035d5780637f05c8b61461037d5780638b51d13f146103ab576101a1565b806354741525146102dd5780637065cb48146102fd578063751ad5601461031d576101a1565b80632f54bf6e1161017f5780632f54bf6e1461026e5780633411c81c1461029b57806337bd78a0146102bb576101a1565b8063025e7c27146101f8578063173825d91461022e57806320ea8d861461024e575b34156101f6573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101ed9190612b50565b60405180910390a25b005b34801561020457600080fd5b50610218610213366004612589565b610569565b6040516102259190612622565b60405180910390f35b34801561023a57600080fd5b506101f6610249366004612304565b61059d565b34801561025a57600080fd5b506101f6610269366004612589565b61084c565b34801561027a57600080fd5b5061028e610289366004612304565b6109a7565b6040516102259190612751565b3480156102a757600080fd5b5061028e6102b63660046125a2565b6109bc565b3480156102c757600080fd5b506102d06109dc565b6040516102259190612b50565b3480156102e957600080fd5b506102d06102f83660046124c5565b6109e2565b34801561030957600080fd5b506101f6610318366004612304565b610a4e565b34801561032957600080fd5b506101f66103383660046124fa565b610c73565b34801561034957600080fd5b5061028e610358366004612589565b610cbe565b34801561036957600080fd5b506101f6610378366004612589565b610d52565b34801561038957600080fd5b5061039d61039836600461256b565b610dcb565b60405161022592919061275c565b3480156103b757600080fd5b506102d06103c6366004612589565b610e04565b3480156103d757600080fd5b506103eb6103e6366004612589565b610e80565b6040516102259493929190612643565b34801561040757600080fd5b50610410610f69565b60405161022591906126c0565b34801561042957600080fd5b5061043d6104383660046125c7565b610fd9565b6040516102259190612719565b34801561045657600080fd5b50610410610465366004612589565b611104565b34801561047657600080fd5b506102d06112bc565b34801561048b57600080fd5b506101f661049a366004612589565b6112c2565b3480156104ab57600080fd5b506101f66104ba366004612589565b61139e565b3480156104cb57600080fd5b506102d06104da36600461235a565b611568565b3480156104eb57600080fd5b506102d06104fa366004612589565b611587565b34801561050b57600080fd5b506102d0611599565b34801561052057600080fd5b506102d061159e565b34801561053557600080fd5b506101f6610544366004612321565b6115a4565b34801561055557600080fd5b506101f6610564366004612589565b61182e565b6003818154811061057657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b3330146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff16610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018110156107bc578273ffffffffffffffffffffffffffffffffffffffff16600382815481106106dc57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156107b457600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061073457fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff909216918390811061076757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107bc565b60010161068c565b50600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906107ee9082612100565b50600354600454111561080757600354610807906112c2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff16610895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b60008281526001602090815260408083203380855292529091205483919060ff166108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612961565b600084815260208190526040902060030154849060ff161561093a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ae2565b600085815260016020908152604080832033808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a4757838015610a0f575060008181526020819052604090206003015460ff16155b80610a335750828015610a33575060008181526020819052604090206003015460ff165b15610a3f576001820191505b6001016109e6565b5092915050565b333014610a87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff1615610ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612885565b8173ffffffffffffffffffffffffffffffffffffffff8116610b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612817565b60038054905060010160045460328211158015610b545750818111155b8015610b5f57508015155b8015610b6a57508115155b610ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b19565b73ffffffffffffffffffffffffffffffffffffffff851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b333014610cac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b610cb884848484611b79565b50505050565b600080805b600354811015610d4a5760008481526001602052604081206003805491929184908110610cec57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610d2d576001820191505b600454821415610d4257600192505050610d4d565b600101610cc3565b50505b919050565b333014610d8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60068190556040517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b437790610dc0908390612b50565b60405180910390a150565b600860209081526000928352604080842090915290825290205460ff81169061010090046fffffffffffffffffffffffffffffffff1682565b6000805b600354811015610e7a5760008381526001602052604081206003805491929184908110610e3157fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610e72576001820191505b600101610e08565b50919050565b60006020818152918152604090819020805460018083015460028085018054875161010095821615959095027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f810188900488028401880190965285835273ffffffffffffffffffffffffffffffffffffffff90931695909491929190830182828015610f565780601f10610f2b57610100808354040283529160200191610f56565b820191906000526020600020905b815481529060010190602001808311610f3957829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610fce57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fa3575b505050505090505b90565b606080600554604051908082528060200260200182016040528015611008578160200160208202803883390190505b5090506000805b60055481101561108957858015611038575060008181526020819052604090206003015460ff16155b8061105c575084801561105c575060008181526020819052604090206003015460ff165b15611081578083838151811061106e57fe5b6020026020010181815250506001820191505b60010161100f565b8787036040519080825280602002602001820160405280156110b5578160200160208202803883390190505b5093508790505b868110156110f9578281815181106110d057fe5b602002602001015184898303815181106110e657fe5b60209081029190910101526001016110bc565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015611136578160200160208202803883390190505b5090506000805b60035481101561122d576000858152600160205260408120600380549192918490811061116657fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff161561122557600381815481106111ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383815181106111e457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b60010161113d565b81604051908082528060200260200182016040528015611257578160200160208202803883390190505b509350600090505b818110156112b45782818151811061127357fe5b602002602001015184828151811061128757fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161125f565b505050919050565b60055481565b3330146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60035481603282118015906113105750818111155b801561131b57508015155b801561132657508115155b61135c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b19565b60048390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90611391908590612b50565b60405180910390a1505050565b3360008181526002602052604090205460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16611444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061292a565b60008381526001602090815260408083203380855292529091205484919060ff161561149c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128bc565b846114a681610cbe565b156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612aab565b600086815260016020818152604080842033808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361155186610cbe565b15611560576115608642611cb1565b505050505050565b6000611575848484611d00565b90506115808161139e565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b3330146115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff1661163e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff16156116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612885565b60005b60035481101561175c578473ffffffffffffffffffffffffffffffffffffffff16600382815481106116d157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561175457836003828154811061170757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175c565b6001016116a3565b5073ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a260405173ffffffffffffffffffffffffffffffffffffffff8416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600081815260208190526040902060030154819060ff161561187c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ae2565b8161188681610cbe565b6118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128f3565b6000838152602081815260409182902060038101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560028083018054865161010094821615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f81018590048502830185019095528482529193606093849384939290918301828280156119a85780601f1061197d576101008083540402835291602001916119a8565b820191906000526020600020905b81548152906001019060200180831161198b57829003601f168201915b50505050508060200190516119c091908101906123ef565b9250925092506000835190508251811480156119dc5750815181145b611a12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612998565b600088815260076020526040812054905b828114611b4257611a5b82878381518110611a3a57fe5b6020026020010151878481518110611a4e57fe5b6020026020010151611e5e565b6000858281518110611a6957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16858381518110611a9357fe5b6020026020010151888481518110611aa757fe5b6020026020010151604051611abc9190612606565b60006040518083038185875af1925050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129cf565b50600101611a23565b5060405189907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2505050505050505050565b600084611b87576000611b89565b815b9050611b93612129565b5060408051808201825286151581526fffffffffffffffffffffffffffffffff80841660208084019182527fffffffff00000000000000000000000000000000000000000000000000000000891660009081526008825285812073ffffffffffffffffffffffffffffffffffffffff8a168252909152849020835181549251909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec90611ca190879087908a90879061277e565b60405180910390a1505050505050565b600082815260076020526040908190208290555182907f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d90611cf4908490612b50565b60405180910390a25050565b60008373ffffffffffffffffffffffffffffffffffffffff8116611d50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612817565b6005546040805160808101825273ffffffffffffffffffffffffffffffffffffffff8881168252602080830189815283850189815260006060860181905287815280845295909520845181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160018301559251805194965091939092611de8926002850192910190612140565b5060609190910151600390910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000611e70838263ffffffff611fbd16565b9050611e7a612129565b507fffffffff000000000000000000000000000000000000000000000000000000008116600090815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845282529182902082518084019093525460ff811615801584526101009091046fffffffffffffffffffffffffffffffff1691830191909152611f69576020810151611f2b9086906fffffffffffffffffffffffffffffffff1663ffffffff61201816565b421015611f64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a3d565b611fb6565b600654611f7d90869063ffffffff61201816565b421015611fb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061284e565b5050505050565b60008160040183511015611fe357611fe3611fde6003855185600401612034565b6120d9565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b60008282018381101561158057611580611fde600086866120e1565b6060632800659560e01b84848460405160240161205393929190612809565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b606063e946c1bb60e01b848484604051602401612053939291906127e7565b815481835581811115612124576000838152602090206121249181019083016121be565b505050565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061218157805160ff19168380011785556121ae565b828001600101855582156121ae579182015b828111156121ae578251825591602001919060010190612193565b506121ba9291506121be565b5090565b610fd691905b808211156121ba57600081556001016121c4565b600082601f8301126121e8578081fd5b81516121fb6121f682612b80565b612b59565b81815291506020808301908481018184028601820187101561221c57600080fd5b60005b8481101561224457815161223281612c10565b8452928201929082019060010161221f565b505050505092915050565b600082601f83011261225f578081fd5b815161226d6121f682612b80565b81815291506020808301908481018184028601820187101561228e57600080fd5b60005b8481101561224457815184529282019290820190600101612291565b8035801515811461201257600080fd5b600082601f8301126122ce57600080fd5b81516122dc6121f682612ba1565b91508082528360208285010111156122f357600080fd5b610a47816020840160208601612be4565b60006020828403121561231657600080fd5b813561158081612c10565b6000806040838503121561233457600080fd5b823561233f81612c10565b9150602083013561234f81612c10565b809150509250929050565b60008060006060848603121561236e578081fd5b833561237981612c10565b925060208401359150604084013567ffffffffffffffff81111561239b578182fd5b80850186601f8201126123ac578283fd5b803591506123bc6121f683612ba1565b8281528760208484010111156123d0578384fd5b8260208301602083013783602084830101528093505050509250925092565b600080600060608486031215612403578283fd5b835167ffffffffffffffff8082111561241a578485fd5b81860187601f82011261242b578586fd5b8051925061243b6121f684612b80565b83815260208082019190838101895b87811015612473576124618d8484518901016122bd565b8552938201939082019060010161244a565b5050890151909750935050508082111561248c57600080fd5b612498878388016121d8565b935060408601519150808211156124ae57600080fd5b506124bb8682870161224f565b9150509250925092565b600080604083850312156124d857600080fd5b6124e284846122ad565b91506124f184602085016122ad565b90509250929050565b6000806000806080858703121561251057600080fd5b843561251b81612c35565b9350602085013561252b81612c43565b9250604085013561253b81612c10565b915060608501356fffffffffffffffffffffffffffffffff8116811461256057600080fd5b939692955090935050565b6000806040838503121561257e57600080fd5b823561233f81612c43565b60006020828403121561259b57600080fd5b5035919050565b600080604083850312156125b557600080fd5b82359150602083013561234f81612c10565b600080600080608085870312156125dd57600080fd5b843593506020850135925060408501356125f681612c35565b9150606085013561256081612c35565b60008251612618818460208701612be4565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff861682528460208301526080604083015283518060808401526126848160a0850160208801612be4565b921515606083015250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160160a0019392505050565b602080825282518282018190526000918401906040840190835b8181101561270e57835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016126da565b509095945050505050565b602080825282518282018190526000918401906040840190835b8181101561270e578351835260209384019390920191600101612733565b901515815260200190565b91151582526fffffffffffffffffffffffffffffffff16602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845273ffffffffffffffffffffffffffffffffffffffff929092166020840152151560408301526fffffffffffffffffffffffffffffffff16606082015260800190565b60608101600485106127f557fe5b938152602081019290925260409091015290565b60608101600885106127f557fe5b6020808252600c908201527f4e554c4c5f414444524553530000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f44454641554c545f54494d455f4c4f434b5f494e434f4d504c45544500000000604082015260600190565b6020808252600c908201527f4f574e45525f4558495354530000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f54585f414c52454144595f434f4e4649524d4544000000000000000000000000604082015260600190565b60208082526016908201527f54585f4e4f545f46554c4c595f434f4e4649524d454400000000000000000000604082015260600190565b6020808252600f908201527f54585f444f45534e545f45584953540000000000000000000000000000000000604082015260600190565b60208082526010908201527f54585f4e4f545f434f4e4649524d454400000000000000000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526010908201527f4641494c45445f455845435554494f4e00000000000000000000000000000000604082015260600190565b60208082526012908201527f4f574e45525f444f45534e545f45584953540000000000000000000000000000604082015260600190565b6020808252601b908201527f435553544f4d5f54494d455f4c4f434b5f494e434f4d504c4554450000000000604082015260600190565b60208082526017908201527f4f4e4c595f43414c4c41424c455f42595f57414c4c4554000000000000000000604082015260600190565b60208082526012908201527f54585f46554c4c595f434f4e4649524d45440000000000000000000000000000604082015260600190565b60208082526013908201527f54585f414c52454144595f455845435554454400000000000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b7857600080fd5b604052919050565b600067ffffffffffffffff821115612b9757600080fd5b5060209081020190565b600067ffffffffffffffff821115612bb857600080fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612bff578181015183820152602001612be7565b83811115610cb85750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612c3257600080fd5b50565b8015158114612c3257600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612c3257600080fdfea365627a7a72315820fde77fb156df719d98fae1b78ff2ce4e43249cead592d52574647daf8cb29f0c6c6578706572696d656e74616cf564736f6c634300050b0040" + "object": "0x60806040523480156200001157600080fd5b506040516200347e3803806200347e8339810160408190526200003491620005c3565b8282828282815181603282111580156200004e5750818111155b80156200005a57508015155b80156200006657508115155b620000a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200009f906200074a565b60405180910390fd5b60005b8451811015620001a95760026000868381518110620000c657fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff1615801562000122575060006001600160a01b03168582815181106200010e57fe5b60200260200101516001600160a01b031614155b6200015b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200009f90620006dc565b6001600260008784815181106200016e57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101620000ab565b508351620001bf9060039060208701906200037d565b5050506004555060065550508551855181148015620001de5750845181145b62000217576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200009f9062000713565b60005b8181146200027c576200027360018983815181106200023557fe5b60200260200101518984815181106200024a57fe5b60200260200101518985815181106200025f57fe5b60200260200101516200028a60201b60201c565b6001016200021a565b5050505050505050620007c8565b6000846200029a5760006200029c565b815b9050620002a8620003e7565b5060408051808201825286151581526001600160801b0380841660208084019182527fffffffff0000000000000000000000000000000000000000000000000000000089166000908152600882528581206001600160a01b038a16825290915284902083518154925190931661010002610100600160881b031993151560ff19909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec906200036d90879087908a90879062000689565b60405180910390a1505050505050565b828054828255906000526020600020908101928215620003d5579160200282015b82811115620003d557825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200039e565b50620003e3929150620003fe565b5090565b604080518082019091526000808252602082015290565b6200042591905b80821115620003e35780546001600160a01b031916815560010162000405565b90565b600082601f83011262000439578081fd5b8151620004506200044a82620007a8565b62000781565b8181529150602080830190848101818402860182018710156200047257600080fd5b60005b84811015620004a95781516001600160a01b03811681146200049657600080fd5b8452928201929082019060010162000475565b505050505092915050565b600082601f830112620004c5578081fd5b8151620004d66200044a82620007a8565b818152915060208083019084810181840286018201871015620004f857600080fd5b60005b84811015620004a95781517fffffffff00000000000000000000000000000000000000000000000000000000811681146200053557600080fd5b84529282019290820190600101620004fb565b600082601f83011262000559578081fd5b81516200056a6200044a82620007a8565b8181529150602080830190848101818402860182018710156200058c57600080fd5b60005b84811015620004a95781516001600160801b0381168114620005b057600080fd5b845292820192908201906001016200058f565b60008060008060008060c08789031215620005dc578182fd5b86516001600160401b0380821115620005f3578384fd5b620006018a838b01620004b4565b9750602089015191508082111562000617578384fd5b620006258a838b0162000428565b965060408901519150808211156200063b578384fd5b620006498a838b0162000548565b955060608901519150808211156200065f578384fd5b506200066e89828a0162000428565b9350506080870151915060a087015190509295509295509295565b7fffffffff000000000000000000000000000000000000000000000000000000009490941684526001600160a01b03929092166020840152151560408301526001600160801b0316606082015260800190565b60208082526017908201527f4455504c49434154455f4f525f4e554c4c5f4f574e4552000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b6040518181016001600160401b0381118282101715620007a057600080fd5b604052919050565b60006001600160401b03821115620007be578081fd5b5060209081020190565b612ca680620007d86000396000f3fe6080604052600436106101a15760003560e01c80639ace38c2116100e1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd146104ff578063dc8452cd14610514578063e20056e614610529578063ee22610b14610549576101a1565b8063c01a8c841461049f578063c6427474146104bf578063d38f2d82146104df576101a1565b8063b5dc40c3116100bb578063b5dc40c31461044a578063b77bf6001461046a578063ba51a6df1461047f576101a1565b80639ace38c2146103cb578063a0e67e2b146103fb578063a8abe69a1461041d576101a1565b8063547415251161014e578063784547a711610128578063784547a71461033d5780637ad28c511461035d5780637f05c8b61461037d5780638b51d13f146103ab576101a1565b806354741525146102dd5780637065cb48146102fd578063751ad5601461031d576101a1565b80632f54bf6e1161017f5780632f54bf6e1461026e5780633411c81c1461029b57806337bd78a0146102bb576101a1565b8063025e7c27146101f8578063173825d91461022e57806320ea8d861461024e575b34156101f6573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101ed9190612b44565b60405180910390a25b005b34801561020457600080fd5b50610218610213366004612580565b610569565b6040516102259190612616565b60405180910390f35b34801561023a57600080fd5b506101f6610249366004612303565b61059d565b34801561025a57600080fd5b506101f6610269366004612580565b61084c565b34801561027a57600080fd5b5061028e610289366004612303565b6109a7565b6040516102259190612745565b3480156102a757600080fd5b5061028e6102b6366004612598565b6109bc565b3480156102c757600080fd5b506102d06109dc565b6040516102259190612b44565b3480156102e957600080fd5b506102d06102f83660046124c0565b6109e2565b34801561030957600080fd5b506101f6610318366004612303565b610a4e565b34801561032957600080fd5b506101f66103383660046124f4565b610c73565b34801561034957600080fd5b5061028e610358366004612580565b610cbe565b34801561036957600080fd5b506101f6610378366004612580565b610d52565b34801561038957600080fd5b5061039d610398366004612563565b610dcb565b604051610225929190612750565b3480156103b757600080fd5b506102d06103c6366004612580565b610e04565b3480156103d757600080fd5b506103eb6103e6366004612580565b610e80565b6040516102259493929190612637565b34801561040757600080fd5b50610410610f69565b60405161022591906126b4565b34801561042957600080fd5b5061043d6104383660046125bc565b610fd9565b604051610225919061270d565b34801561045657600080fd5b50610410610465366004612580565b611104565b34801561047657600080fd5b506102d06112bc565b34801561048b57600080fd5b506101f661049a366004612580565b6112c2565b3480156104ab57600080fd5b506101f66104ba366004612580565b61139e565b3480156104cb57600080fd5b506102d06104da366004612357565b611568565b3480156104eb57600080fd5b506102d06104fa366004612580565b611587565b34801561050b57600080fd5b506102d0611599565b34801561052057600080fd5b506102d061159e565b34801561053557600080fd5b506101f661054436600461231f565b6115a4565b34801561055557600080fd5b506101f6610564366004612580565b61182e565b6003818154811061057657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b3330146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff16610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018110156107bc578273ffffffffffffffffffffffffffffffffffffffff16600382815481106106dc57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156107b457600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061073457fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff909216918390811061076757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107bc565b60010161068c565b50600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906107ee9082612100565b50600354600454111561080757600354610807906112c2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff16610895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b60008281526001602090815260408083203380855292529091205483919060ff166108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612955565b600084815260208190526040902060030154849060ff161561093a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ad6565b600085815260016020908152604080832033808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a4757838015610a0f575060008181526020819052604090206003015460ff16155b80610a335750828015610a33575060008181526020819052604090206003015460ff165b15610a3f576001820191505b6001016109e6565b5092915050565b333014610a87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff1615610ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612879565b8173ffffffffffffffffffffffffffffffffffffffff8116610b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061280b565b60038054905060010160045460328211158015610b545750818111155b8015610b5f57508015155b8015610b6a57508115155b610ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b0d565b73ffffffffffffffffffffffffffffffffffffffff851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b333014610cac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b610cb884848484611b79565b50505050565b600080805b600354811015610d4a5760008481526001602052604081206003805491929184908110610cec57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610d2d576001820191505b600454821415610d4257600192505050610d4d565b600101610cc3565b50505b919050565b333014610d8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60068190556040517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b437790610dc0908390612b44565b60405180910390a150565b600860209081526000928352604080842090915290825290205460ff81169061010090046fffffffffffffffffffffffffffffffff1682565b6000805b600354811015610e7a5760008381526001602052604081206003805491929184908110610e3157fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610e72576001820191505b600101610e08565b50919050565b60006020818152918152604090819020805460018083015460028085018054875161010095821615959095027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f810188900488028401880190965285835273ffffffffffffffffffffffffffffffffffffffff90931695909491929190830182828015610f565780601f10610f2b57610100808354040283529160200191610f56565b820191906000526020600020905b815481529060010190602001808311610f3957829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610fce57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fa3575b505050505090505b90565b606080600554604051908082528060200260200182016040528015611008578160200160208202803883390190505b5090506000805b60055481101561108957858015611038575060008181526020819052604090206003015460ff16155b8061105c575084801561105c575060008181526020819052604090206003015460ff165b15611081578083838151811061106e57fe5b6020026020010181815250506001820191505b60010161100f565b8787036040519080825280602002602001820160405280156110b5578160200160208202803883390190505b5093508790505b868110156110f9578281815181106110d057fe5b602002602001015184898303815181106110e657fe5b60209081029190910101526001016110bc565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015611136578160200160208202803883390190505b5090506000805b60035481101561122d576000858152600160205260408120600380549192918490811061116657fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff161561122557600381815481106111ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383815181106111e457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b60010161113d565b81604051908082528060200260200182016040528015611257578160200160208202803883390190505b509350600090505b818110156112b45782818151811061127357fe5b602002602001015184828151811061128757fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161125f565b505050919050565b60055481565b3330146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60035481603282118015906113105750818111155b801561131b57508015155b801561132657508115155b61135c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b0d565b60048390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90611391908590612b44565b60405180910390a1505050565b3360008181526002602052604090205460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16611444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061291e565b60008381526001602090815260408083203380855292529091205484919060ff161561149c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128b0565b846114a681610cbe565b156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a9f565b600086815260016020818152604080842033808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361155186610cbe565b15611560576115608642611cb1565b505050505050565b6000611575848484611d00565b90506115808161139e565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b3330146115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff1661163e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff16156116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612879565b60005b60035481101561175c578473ffffffffffffffffffffffffffffffffffffffff16600382815481106116d157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561175457836003828154811061170757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175c565b6001016116a3565b5073ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a260405173ffffffffffffffffffffffffffffffffffffffff8416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600081815260208190526040902060030154819060ff161561187c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ad6565b8161188681610cbe565b6118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128e7565b6000838152602081815260409182902060038101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560028083018054865161010094821615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f81018590048502830185019095528482529193606093849384939290918301828280156119a85780601f1061197d576101008083540402835291602001916119a8565b820191906000526020600020905b81548152906001019060200180831161198b57829003601f168201915b50505050508060200190516119c091908101906123ec565b9250925092506000835190508251811480156119dc5750815181145b611a12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061298c565b600088815260076020526040812054905b828114611b4257611a5b82878381518110611a3a57fe5b6020026020010151878481518110611a4e57fe5b6020026020010151611e5e565b6000858281518110611a6957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16858381518110611a9357fe5b6020026020010151888481518110611aa757fe5b6020026020010151604051611abc91906125fa565b60006040518083038185875af1925050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129c3565b50600101611a23565b5060405189907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2505050505050505050565b600084611b87576000611b89565b815b9050611b93612129565b5060408051808201825286151581526fffffffffffffffffffffffffffffffff80841660208084019182527fffffffff00000000000000000000000000000000000000000000000000000000891660009081526008825285812073ffffffffffffffffffffffffffffffffffffffff8a168252909152849020835181549251909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec90611ca190879087908a908790612772565b60405180910390a1505050505050565b600082815260076020526040908190208290555182907f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d90611cf4908490612b44565b60405180910390a25050565b60008373ffffffffffffffffffffffffffffffffffffffff8116611d50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061280b565b6005546040805160808101825273ffffffffffffffffffffffffffffffffffffffff8881168252602080830189815283850189815260006060860181905287815280845295909520845181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160018301559251805194965091939092611de8926002850192910190612140565b5060609190910151600390910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000611e70838263ffffffff611fbd16565b9050611e7a612129565b507fffffffff000000000000000000000000000000000000000000000000000000008116600090815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845282529182902082518084019093525460ff811615801584526101009091046fffffffffffffffffffffffffffffffff1691830191909152611f69576020810151611f2b9086906fffffffffffffffffffffffffffffffff1663ffffffff61201816565b421015611f64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a31565b611fb6565b600654611f7d90869063ffffffff61201816565b421015611fb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612842565b5050505050565b60008160040183511015611fe357611fe3611fde6003855185600401612034565b6120d9565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b60008282018381101561158057611580611fde600086866120e1565b6060632800659560e01b848484604051602401612053939291906127fd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b606063e946c1bb60e01b848484604051602401612053939291906127db565b815481835581811115612124576000838152602090206121249181019083016121be565b505050565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061218157805160ff19168380011785556121ae565b828001600101855582156121ae579182015b828111156121ae578251825591602001919060010190612193565b506121ba9291506121be565b5090565b610fd691905b808211156121ba57600081556001016121c4565b600082601f8301126121e8578081fd5b81516121fb6121f682612b74565b612b4d565b81815291506020808301908481018184028601820187101561221c57600080fd5b60005b8481101561224457815161223281612c02565b8452928201929082019060010161221f565b505050505092915050565b600082601f83011261225f578081fd5b815161226d6121f682612b74565b81815291506020808301908481018184028601820187101561228e57600080fd5b60005b8481101561224457815184529282019290820190600101612291565b8035801515811461201257600080fd5b600082601f8301126122cd578081fd5b81516122db6121f682612b94565b91508082528360208285010111156122f257600080fd5b610a47816020840160208601612bd6565b600060208284031215612314578081fd5b813561158081612c02565b60008060408385031215612331578081fd5b823561233c81612c02565b9150602083013561234c81612c02565b809150509250929050565b60008060006060848603121561236b578081fd5b833561237681612c02565b925060208401359150604084013567ffffffffffffffff811115612398578182fd5b80850186601f8201126123a9578283fd5b803591506123b96121f683612b94565b8281528760208484010111156123cd578384fd5b8260208301602083013783602084830101528093505050509250925092565b600080600060608486031215612400578283fd5b835167ffffffffffffffff80821115612417578485fd5b81860187601f820112612428578586fd5b805192506124386121f684612b74565b83815260208082019190838101895b878110156124705761245e8d8484518901016122bd565b85529382019390820190600101612447565b50508901519097509350505080821115612488578384fd5b612494878388016121d8565b935060408601519150808211156124a9578283fd5b506124b68682870161224f565b9150509250925092565b600080604083850312156124d2578182fd5b6124dc84846122ad565b91506124eb84602085016122ad565b90509250929050565b60008060008060808587031215612509578081fd5b843561251481612c27565b9350602085013561252481612c35565b9250604085013561253481612c02565b915060608501356fffffffffffffffffffffffffffffffff81168114612558578182fd5b939692955090935050565b60008060408385031215612575578182fd5b823561233c81612c35565b600060208284031215612591578081fd5b5035919050565b600080604083850312156125aa578182fd5b82359150602083013561234c81612c02565b600080600080608085870312156125d1578182fd5b843593506020850135925060408501356125ea81612c27565b9150606085013561255881612c27565b6000825161260c818460208701612bd6565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff861682528460208301526080604083015283518060808401526126788160a0850160208801612bd6565b921515606083015250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160160a0019392505050565b602080825282518282018190526000918401906040840190835b8181101561270257835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016126ce565b509095945050505050565b602080825282518282018190526000918401906040840190835b81811015612702578351835260209384019390920191600101612727565b901515815260200190565b91151582526fffffffffffffffffffffffffffffffff16602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845273ffffffffffffffffffffffffffffffffffffffff929092166020840152151560408301526fffffffffffffffffffffffffffffffff16606082015260800190565b60608101600485106127e957fe5b938152602081019290925260409091015290565b60608101600885106127e957fe5b6020808252600c908201527f4e554c4c5f414444524553530000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f44454641554c545f54494d455f4c4f434b5f494e434f4d504c45544500000000604082015260600190565b6020808252600c908201527f4f574e45525f4558495354530000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f54585f414c52454144595f434f4e4649524d4544000000000000000000000000604082015260600190565b60208082526016908201527f54585f4e4f545f46554c4c595f434f4e4649524d454400000000000000000000604082015260600190565b6020808252600f908201527f54585f444f45534e545f45584953540000000000000000000000000000000000604082015260600190565b60208082526010908201527f54585f4e4f545f434f4e4649524d454400000000000000000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526010908201527f4641494c45445f455845435554494f4e00000000000000000000000000000000604082015260600190565b60208082526012908201527f4f574e45525f444f45534e545f45584953540000000000000000000000000000604082015260600190565b6020808252601b908201527f435553544f4d5f54494d455f4c4f434b5f494e434f4d504c4554450000000000604082015260600190565b60208082526017908201527f4f4e4c595f43414c4c41424c455f42595f57414c4c4554000000000000000000604082015260600190565b60208082526012908201527f54585f46554c4c595f434f4e4649524d45440000000000000000000000000000604082015260600190565b60208082526013908201527f54585f414c52454144595f455845435554454400000000000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b6c57600080fd5b604052919050565b600067ffffffffffffffff821115612b8a578081fd5b5060209081020190565b600067ffffffffffffffff821115612baa578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612bf1578181015183820152602001612bd9565b83811115610cb85750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612c2457600080fd5b50565b8015158114612c2457600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612c2457600080fdfea365627a7a723158200ac5186607cd3ec8212bb7bd34d7047a94bed6fb931222d7ea453055d00701cd6c6578706572696d656e74616cf564736f6c634300050c0040" }, "deployedBytecode": { - "object": "0x6080604052600436106101a15760003560e01c80639ace38c2116100e1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd146104ff578063dc8452cd14610514578063e20056e614610529578063ee22610b14610549576101a1565b8063c01a8c841461049f578063c6427474146104bf578063d38f2d82146104df576101a1565b8063b5dc40c3116100bb578063b5dc40c31461044a578063b77bf6001461046a578063ba51a6df1461047f576101a1565b80639ace38c2146103cb578063a0e67e2b146103fb578063a8abe69a1461041d576101a1565b8063547415251161014e578063784547a711610128578063784547a71461033d5780637ad28c511461035d5780637f05c8b61461037d5780638b51d13f146103ab576101a1565b806354741525146102dd5780637065cb48146102fd578063751ad5601461031d576101a1565b80632f54bf6e1161017f5780632f54bf6e1461026e5780633411c81c1461029b57806337bd78a0146102bb576101a1565b8063025e7c27146101f8578063173825d91461022e57806320ea8d861461024e575b34156101f6573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101ed9190612b50565b60405180910390a25b005b34801561020457600080fd5b50610218610213366004612589565b610569565b6040516102259190612622565b60405180910390f35b34801561023a57600080fd5b506101f6610249366004612304565b61059d565b34801561025a57600080fd5b506101f6610269366004612589565b61084c565b34801561027a57600080fd5b5061028e610289366004612304565b6109a7565b6040516102259190612751565b3480156102a757600080fd5b5061028e6102b63660046125a2565b6109bc565b3480156102c757600080fd5b506102d06109dc565b6040516102259190612b50565b3480156102e957600080fd5b506102d06102f83660046124c5565b6109e2565b34801561030957600080fd5b506101f6610318366004612304565b610a4e565b34801561032957600080fd5b506101f66103383660046124fa565b610c73565b34801561034957600080fd5b5061028e610358366004612589565b610cbe565b34801561036957600080fd5b506101f6610378366004612589565b610d52565b34801561038957600080fd5b5061039d61039836600461256b565b610dcb565b60405161022592919061275c565b3480156103b757600080fd5b506102d06103c6366004612589565b610e04565b3480156103d757600080fd5b506103eb6103e6366004612589565b610e80565b6040516102259493929190612643565b34801561040757600080fd5b50610410610f69565b60405161022591906126c0565b34801561042957600080fd5b5061043d6104383660046125c7565b610fd9565b6040516102259190612719565b34801561045657600080fd5b50610410610465366004612589565b611104565b34801561047657600080fd5b506102d06112bc565b34801561048b57600080fd5b506101f661049a366004612589565b6112c2565b3480156104ab57600080fd5b506101f66104ba366004612589565b61139e565b3480156104cb57600080fd5b506102d06104da36600461235a565b611568565b3480156104eb57600080fd5b506102d06104fa366004612589565b611587565b34801561050b57600080fd5b506102d0611599565b34801561052057600080fd5b506102d061159e565b34801561053557600080fd5b506101f6610544366004612321565b6115a4565b34801561055557600080fd5b506101f6610564366004612589565b61182e565b6003818154811061057657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b3330146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff16610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018110156107bc578273ffffffffffffffffffffffffffffffffffffffff16600382815481106106dc57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156107b457600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061073457fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff909216918390811061076757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107bc565b60010161068c565b50600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906107ee9082612100565b50600354600454111561080757600354610807906112c2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff16610895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b60008281526001602090815260408083203380855292529091205483919060ff166108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612961565b600084815260208190526040902060030154849060ff161561093a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ae2565b600085815260016020908152604080832033808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a4757838015610a0f575060008181526020819052604090206003015460ff16155b80610a335750828015610a33575060008181526020819052604090206003015460ff165b15610a3f576001820191505b6001016109e6565b5092915050565b333014610a87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff1615610ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612885565b8173ffffffffffffffffffffffffffffffffffffffff8116610b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612817565b60038054905060010160045460328211158015610b545750818111155b8015610b5f57508015155b8015610b6a57508115155b610ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b19565b73ffffffffffffffffffffffffffffffffffffffff851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b333014610cac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b610cb884848484611b79565b50505050565b600080805b600354811015610d4a5760008481526001602052604081206003805491929184908110610cec57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610d2d576001820191505b600454821415610d4257600192505050610d4d565b600101610cc3565b50505b919050565b333014610d8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60068190556040517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b437790610dc0908390612b50565b60405180910390a150565b600860209081526000928352604080842090915290825290205460ff81169061010090046fffffffffffffffffffffffffffffffff1682565b6000805b600354811015610e7a5760008381526001602052604081206003805491929184908110610e3157fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610e72576001820191505b600101610e08565b50919050565b60006020818152918152604090819020805460018083015460028085018054875161010095821615959095027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f810188900488028401880190965285835273ffffffffffffffffffffffffffffffffffffffff90931695909491929190830182828015610f565780601f10610f2b57610100808354040283529160200191610f56565b820191906000526020600020905b815481529060010190602001808311610f3957829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610fce57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fa3575b505050505090505b90565b606080600554604051908082528060200260200182016040528015611008578160200160208202803883390190505b5090506000805b60055481101561108957858015611038575060008181526020819052604090206003015460ff16155b8061105c575084801561105c575060008181526020819052604090206003015460ff165b15611081578083838151811061106e57fe5b6020026020010181815250506001820191505b60010161100f565b8787036040519080825280602002602001820160405280156110b5578160200160208202803883390190505b5093508790505b868110156110f9578281815181106110d057fe5b602002602001015184898303815181106110e657fe5b60209081029190910101526001016110bc565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015611136578160200160208202803883390190505b5090506000805b60035481101561122d576000858152600160205260408120600380549192918490811061116657fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff161561122557600381815481106111ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383815181106111e457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b60010161113d565b81604051908082528060200260200182016040528015611257578160200160208202803883390190505b509350600090505b818110156112b45782818151811061127357fe5b602002602001015184828151811061128757fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161125f565b505050919050565b60055481565b3330146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b60035481603282118015906113105750818111155b801561131b57508015155b801561132657508115155b61135c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b19565b60048390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90611391908590612b50565b60405180910390a1505050565b3360008181526002602052604090205460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16611444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061292a565b60008381526001602090815260408083203380855292529091205484919060ff161561149c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128bc565b846114a681610cbe565b156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612aab565b600086815260016020818152604080842033808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361155186610cbe565b15611560576115608642611cb1565b505050505050565b6000611575848484611d00565b90506115808161139e565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b3330146115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a74565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff1661163e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a06565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff16156116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612885565b60005b60035481101561175c578473ffffffffffffffffffffffffffffffffffffffff16600382815481106116d157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561175457836003828154811061170757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175c565b6001016116a3565b5073ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a260405173ffffffffffffffffffffffffffffffffffffffff8416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600081815260208190526040902060030154819060ff161561187c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ae2565b8161188681610cbe565b6118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128f3565b6000838152602081815260409182902060038101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560028083018054865161010094821615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f81018590048502830185019095528482529193606093849384939290918301828280156119a85780601f1061197d576101008083540402835291602001916119a8565b820191906000526020600020905b81548152906001019060200180831161198b57829003601f168201915b50505050508060200190516119c091908101906123ef565b9250925092506000835190508251811480156119dc5750815181145b611a12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612998565b600088815260076020526040812054905b828114611b4257611a5b82878381518110611a3a57fe5b6020026020010151878481518110611a4e57fe5b6020026020010151611e5e565b6000858281518110611a6957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16858381518110611a9357fe5b6020026020010151888481518110611aa757fe5b6020026020010151604051611abc9190612606565b60006040518083038185875af1925050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129cf565b50600101611a23565b5060405189907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2505050505050505050565b600084611b87576000611b89565b815b9050611b93612129565b5060408051808201825286151581526fffffffffffffffffffffffffffffffff80841660208084019182527fffffffff00000000000000000000000000000000000000000000000000000000891660009081526008825285812073ffffffffffffffffffffffffffffffffffffffff8a168252909152849020835181549251909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec90611ca190879087908a90879061277e565b60405180910390a1505050505050565b600082815260076020526040908190208290555182907f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d90611cf4908490612b50565b60405180910390a25050565b60008373ffffffffffffffffffffffffffffffffffffffff8116611d50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612817565b6005546040805160808101825273ffffffffffffffffffffffffffffffffffffffff8881168252602080830189815283850189815260006060860181905287815280845295909520845181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160018301559251805194965091939092611de8926002850192910190612140565b5060609190910151600390910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000611e70838263ffffffff611fbd16565b9050611e7a612129565b507fffffffff000000000000000000000000000000000000000000000000000000008116600090815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845282529182902082518084019093525460ff811615801584526101009091046fffffffffffffffffffffffffffffffff1691830191909152611f69576020810151611f2b9086906fffffffffffffffffffffffffffffffff1663ffffffff61201816565b421015611f64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a3d565b611fb6565b600654611f7d90869063ffffffff61201816565b421015611fb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061284e565b5050505050565b60008160040183511015611fe357611fe3611fde6003855185600401612034565b6120d9565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b60008282018381101561158057611580611fde600086866120e1565b6060632800659560e01b84848460405160240161205393929190612809565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b606063e946c1bb60e01b848484604051602401612053939291906127e7565b815481835581811115612124576000838152602090206121249181019083016121be565b505050565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061218157805160ff19168380011785556121ae565b828001600101855582156121ae579182015b828111156121ae578251825591602001919060010190612193565b506121ba9291506121be565b5090565b610fd691905b808211156121ba57600081556001016121c4565b600082601f8301126121e8578081fd5b81516121fb6121f682612b80565b612b59565b81815291506020808301908481018184028601820187101561221c57600080fd5b60005b8481101561224457815161223281612c10565b8452928201929082019060010161221f565b505050505092915050565b600082601f83011261225f578081fd5b815161226d6121f682612b80565b81815291506020808301908481018184028601820187101561228e57600080fd5b60005b8481101561224457815184529282019290820190600101612291565b8035801515811461201257600080fd5b600082601f8301126122ce57600080fd5b81516122dc6121f682612ba1565b91508082528360208285010111156122f357600080fd5b610a47816020840160208601612be4565b60006020828403121561231657600080fd5b813561158081612c10565b6000806040838503121561233457600080fd5b823561233f81612c10565b9150602083013561234f81612c10565b809150509250929050565b60008060006060848603121561236e578081fd5b833561237981612c10565b925060208401359150604084013567ffffffffffffffff81111561239b578182fd5b80850186601f8201126123ac578283fd5b803591506123bc6121f683612ba1565b8281528760208484010111156123d0578384fd5b8260208301602083013783602084830101528093505050509250925092565b600080600060608486031215612403578283fd5b835167ffffffffffffffff8082111561241a578485fd5b81860187601f82011261242b578586fd5b8051925061243b6121f684612b80565b83815260208082019190838101895b87811015612473576124618d8484518901016122bd565b8552938201939082019060010161244a565b5050890151909750935050508082111561248c57600080fd5b612498878388016121d8565b935060408601519150808211156124ae57600080fd5b506124bb8682870161224f565b9150509250925092565b600080604083850312156124d857600080fd5b6124e284846122ad565b91506124f184602085016122ad565b90509250929050565b6000806000806080858703121561251057600080fd5b843561251b81612c35565b9350602085013561252b81612c43565b9250604085013561253b81612c10565b915060608501356fffffffffffffffffffffffffffffffff8116811461256057600080fd5b939692955090935050565b6000806040838503121561257e57600080fd5b823561233f81612c43565b60006020828403121561259b57600080fd5b5035919050565b600080604083850312156125b557600080fd5b82359150602083013561234f81612c10565b600080600080608085870312156125dd57600080fd5b843593506020850135925060408501356125f681612c35565b9150606085013561256081612c35565b60008251612618818460208701612be4565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff861682528460208301526080604083015283518060808401526126848160a0850160208801612be4565b921515606083015250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160160a0019392505050565b602080825282518282018190526000918401906040840190835b8181101561270e57835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016126da565b509095945050505050565b602080825282518282018190526000918401906040840190835b8181101561270e578351835260209384019390920191600101612733565b901515815260200190565b91151582526fffffffffffffffffffffffffffffffff16602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845273ffffffffffffffffffffffffffffffffffffffff929092166020840152151560408301526fffffffffffffffffffffffffffffffff16606082015260800190565b60608101600485106127f557fe5b938152602081019290925260409091015290565b60608101600885106127f557fe5b6020808252600c908201527f4e554c4c5f414444524553530000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f44454641554c545f54494d455f4c4f434b5f494e434f4d504c45544500000000604082015260600190565b6020808252600c908201527f4f574e45525f4558495354530000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f54585f414c52454144595f434f4e4649524d4544000000000000000000000000604082015260600190565b60208082526016908201527f54585f4e4f545f46554c4c595f434f4e4649524d454400000000000000000000604082015260600190565b6020808252600f908201527f54585f444f45534e545f45584953540000000000000000000000000000000000604082015260600190565b60208082526010908201527f54585f4e4f545f434f4e4649524d454400000000000000000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526010908201527f4641494c45445f455845435554494f4e00000000000000000000000000000000604082015260600190565b60208082526012908201527f4f574e45525f444f45534e545f45584953540000000000000000000000000000604082015260600190565b6020808252601b908201527f435553544f4d5f54494d455f4c4f434b5f494e434f4d504c4554450000000000604082015260600190565b60208082526017908201527f4f4e4c595f43414c4c41424c455f42595f57414c4c4554000000000000000000604082015260600190565b60208082526012908201527f54585f46554c4c595f434f4e4649524d45440000000000000000000000000000604082015260600190565b60208082526013908201527f54585f414c52454144595f455845435554454400000000000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b7857600080fd5b604052919050565b600067ffffffffffffffff821115612b9757600080fd5b5060209081020190565b600067ffffffffffffffff821115612bb857600080fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612bff578181015183820152602001612be7565b83811115610cb85750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612c3257600080fd5b50565b8015158114612c3257600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612c3257600080fdfea365627a7a72315820fde77fb156df719d98fae1b78ff2ce4e43249cead592d52574647daf8cb29f0c6c6578706572696d656e74616cf564736f6c634300050b0040" + "object": "0x6080604052600436106101a15760003560e01c80639ace38c2116100e1578063c01a8c841161008a578063d74f8edd11610064578063d74f8edd146104ff578063dc8452cd14610514578063e20056e614610529578063ee22610b14610549576101a1565b8063c01a8c841461049f578063c6427474146104bf578063d38f2d82146104df576101a1565b8063b5dc40c3116100bb578063b5dc40c31461044a578063b77bf6001461046a578063ba51a6df1461047f576101a1565b80639ace38c2146103cb578063a0e67e2b146103fb578063a8abe69a1461041d576101a1565b8063547415251161014e578063784547a711610128578063784547a71461033d5780637ad28c511461035d5780637f05c8b61461037d5780638b51d13f146103ab576101a1565b806354741525146102dd5780637065cb48146102fd578063751ad5601461031d576101a1565b80632f54bf6e1161017f5780632f54bf6e1461026e5780633411c81c1461029b57806337bd78a0146102bb576101a1565b8063025e7c27146101f8578063173825d91461022e57806320ea8d861461024e575b34156101f6573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516101ed9190612b44565b60405180910390a25b005b34801561020457600080fd5b50610218610213366004612580565b610569565b6040516102259190612616565b60405180910390f35b34801561023a57600080fd5b506101f6610249366004612303565b61059d565b34801561025a57600080fd5b506101f6610269366004612580565b61084c565b34801561027a57600080fd5b5061028e610289366004612303565b6109a7565b6040516102259190612745565b3480156102a757600080fd5b5061028e6102b6366004612598565b6109bc565b3480156102c757600080fd5b506102d06109dc565b6040516102259190612b44565b3480156102e957600080fd5b506102d06102f83660046124c0565b6109e2565b34801561030957600080fd5b506101f6610318366004612303565b610a4e565b34801561032957600080fd5b506101f66103383660046124f4565b610c73565b34801561034957600080fd5b5061028e610358366004612580565b610cbe565b34801561036957600080fd5b506101f6610378366004612580565b610d52565b34801561038957600080fd5b5061039d610398366004612563565b610dcb565b604051610225929190612750565b3480156103b757600080fd5b506102d06103c6366004612580565b610e04565b3480156103d757600080fd5b506103eb6103e6366004612580565b610e80565b6040516102259493929190612637565b34801561040757600080fd5b50610410610f69565b60405161022591906126b4565b34801561042957600080fd5b5061043d6104383660046125bc565b610fd9565b604051610225919061270d565b34801561045657600080fd5b50610410610465366004612580565b611104565b34801561047657600080fd5b506102d06112bc565b34801561048b57600080fd5b506101f661049a366004612580565b6112c2565b3480156104ab57600080fd5b506101f66104ba366004612580565b61139e565b3480156104cb57600080fd5b506102d06104da366004612357565b611568565b3480156104eb57600080fd5b506102d06104fa366004612580565b611587565b34801561050b57600080fd5b506102d0611599565b34801561052057600080fd5b506102d061159e565b34801561053557600080fd5b506101f661054436600461231f565b6115a4565b34801561055557600080fd5b506101f6610564366004612580565b61182e565b6003818154811061057657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b3330146105df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff16610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b6003547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018110156107bc578273ffffffffffffffffffffffffffffffffffffffff16600382815481106106dc57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614156107b457600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061073457fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff909216918390811061076757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107bc565b60010161068c565b50600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906107ee9082612100565b50600354600454111561080757600354610807906112c2565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a25050565b3360008181526002602052604090205460ff16610895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b60008281526001602090815260408083203380855292529091205483919060ff166108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612955565b600084815260208190526040902060030154849060ff161561093a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ad6565b600085815260016020908152604080832033808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b60065481565b6000805b600554811015610a4757838015610a0f575060008181526020819052604090206003015460ff16155b80610a335750828015610a33575060008181526020819052604090206003015460ff165b15610a3f576001820191505b6001016109e6565b5092915050565b333014610a87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040902054819060ff1615610ae9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612879565b8173ffffffffffffffffffffffffffffffffffffffff8116610b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061280b565b60038054905060010160045460328211158015610b545750818111155b8015610b5f57508015155b8015610b6a57508115155b610ba0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b0d565b73ffffffffffffffffffffffffffffffffffffffff851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b333014610cac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b610cb884848484611b79565b50505050565b600080805b600354811015610d4a5760008481526001602052604081206003805491929184908110610cec57fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610d2d576001820191505b600454821415610d4257600192505050610d4d565b600101610cc3565b50505b919050565b333014610d8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60068190556040517fd1c9101a34feff75cccef14a28785a0279cb0b49c1f321f21f5f422e746b437790610dc0908390612b44565b60405180910390a150565b600860209081526000928352604080842090915290825290205460ff81169061010090046fffffffffffffffffffffffffffffffff1682565b6000805b600354811015610e7a5760008381526001602052604081206003805491929184908110610e3157fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff1615610e72576001820191505b600101610e08565b50919050565b60006020818152918152604090819020805460018083015460028085018054875161010095821615959095027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f810188900488028401880190965285835273ffffffffffffffffffffffffffffffffffffffff90931695909491929190830182828015610f565780601f10610f2b57610100808354040283529160200191610f56565b820191906000526020600020905b815481529060010190602001808311610f3957829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610fce57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fa3575b505050505090505b90565b606080600554604051908082528060200260200182016040528015611008578160200160208202803883390190505b5090506000805b60055481101561108957858015611038575060008181526020819052604090206003015460ff16155b8061105c575084801561105c575060008181526020819052604090206003015460ff165b15611081578083838151811061106e57fe5b6020026020010181815250506001820191505b60010161100f565b8787036040519080825280602002602001820160405280156110b5578160200160208202803883390190505b5093508790505b868110156110f9578281815181106110d057fe5b602002602001015184898303815181106110e657fe5b60209081029190910101526001016110bc565b505050949350505050565b606080600380549050604051908082528060200260200182016040528015611136578160200160208202803883390190505b5090506000805b60035481101561122d576000858152600160205260408120600380549192918490811061116657fe5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff161561122557600381815481106111ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383815181106111e457fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b60010161113d565b81604051908082528060200260200182016040528015611257578160200160208202803883390190505b509350600090505b818110156112b45782818151811061127357fe5b602002602001015184828151811061128757fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161125f565b505050919050565b60055481565b3330146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b60035481603282118015906113105750818111155b801561131b57508015155b801561132657508115155b61135c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612b0d565b60048390556040517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a90611391908590612b44565b60405180910390a1505050565b3360008181526002602052604090205460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff16611444576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061291e565b60008381526001602090815260408083203380855292529091205484919060ff161561149c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128b0565b846114a681610cbe565b156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a9f565b600086815260016020818152604080842033808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255905188927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361155186610cbe565b15611560576115608642611cb1565b505050505050565b6000611575848484611d00565b90506115808161139e565b9392505050565b60076020526000908152604090205481565b603281565b60045481565b3330146115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a68565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff1661163e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129fa565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054829060ff16156116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612879565b60005b60035481101561175c578473ffffffffffffffffffffffffffffffffffffffff16600382815481106116d157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561175457836003828154811061170757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061175c565b6001016116a3565b5073ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090811690915593871682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a260405173ffffffffffffffffffffffffffffffffffffffff8416907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a250505050565b600081815260208190526040902060030154819060ff161561187c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612ad6565b8161188681610cbe565b6118bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906128e7565b6000838152602081815260409182902060038101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116811790915560028083018054865161010094821615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f81018590048502830185019095528482529193606093849384939290918301828280156119a85780601f1061197d576101008083540402835291602001916119a8565b820191906000526020600020905b81548152906001019060200180831161198b57829003601f168201915b50505050508060200190516119c091908101906123ec565b9250925092506000835190508251811480156119dc5750815181145b611a12576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061298c565b600088815260076020526040812054905b828114611b4257611a5b82878381518110611a3a57fe5b6020026020010151878481518110611a4e57fe5b6020026020010151611e5e565b6000858281518110611a6957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16858381518110611a9357fe5b6020026020010151888481518110611aa757fe5b6020026020010151604051611abc91906125fa565b60006040518083038185875af1925050503d8060008114611af9576040519150601f19603f3d011682016040523d82523d6000602084013e611afe565b606091505b5050905080611b39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d6906129c3565b50600101611a23565b5060405189907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a2505050505050505050565b600084611b87576000611b89565b815b9050611b93612129565b5060408051808201825286151581526fffffffffffffffffffffffffffffffff80841660208084019182527fffffffff00000000000000000000000000000000000000000000000000000000891660009081526008825285812073ffffffffffffffffffffffffffffffffffffffff8a168252909152849020835181549251909316610100027fffffffffffffffffffffffffffffff00000000000000000000000000000000ff9315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179290921617905590517f694405724de467488eda192d814f39ffe7f6503fe0b1eefd4ea332f9c611c5ec90611ca190879087908a908790612772565b60405180910390a1505050505050565b600082815260076020526040908190208290555182907f0b237afe65f1514fd7ea3f923ea4fe792bdd07000a912b6cd1602a8e7f573c8d90611cf4908490612b44565b60405180910390a25050565b60008373ffffffffffffffffffffffffffffffffffffffff8116611d50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d69061280b565b6005546040805160808101825273ffffffffffffffffffffffffffffffffffffffff8881168252602080830189815283850189815260006060860181905287815280845295909520845181547fffffffffffffffffffffffff00000000000000000000000000000000000000001694169390931783555160018301559251805194965091939092611de8926002850192910190612140565b5060609190910151600390910180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b6000611e70838263ffffffff611fbd16565b9050611e7a612129565b507fffffffff000000000000000000000000000000000000000000000000000000008116600090815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845282529182902082518084019093525460ff811615801584526101009091046fffffffffffffffffffffffffffffffff1691830191909152611f69576020810151611f2b9086906fffffffffffffffffffffffffffffffff1663ffffffff61201816565b421015611f64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612a31565b611fb6565b600654611f7d90869063ffffffff61201816565b421015611fb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d690612842565b5050505050565b60008160040183511015611fe357611fe3611fde6003855185600401612034565b6120d9565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b60008282018381101561158057611580611fde600086866120e1565b6060632800659560e01b848484604051602401612053939291906127fd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b606063e946c1bb60e01b848484604051602401612053939291906127db565b815481835581811115612124576000838152602090206121249181019083016121be565b505050565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061218157805160ff19168380011785556121ae565b828001600101855582156121ae579182015b828111156121ae578251825591602001919060010190612193565b506121ba9291506121be565b5090565b610fd691905b808211156121ba57600081556001016121c4565b600082601f8301126121e8578081fd5b81516121fb6121f682612b74565b612b4d565b81815291506020808301908481018184028601820187101561221c57600080fd5b60005b8481101561224457815161223281612c02565b8452928201929082019060010161221f565b505050505092915050565b600082601f83011261225f578081fd5b815161226d6121f682612b74565b81815291506020808301908481018184028601820187101561228e57600080fd5b60005b8481101561224457815184529282019290820190600101612291565b8035801515811461201257600080fd5b600082601f8301126122cd578081fd5b81516122db6121f682612b94565b91508082528360208285010111156122f257600080fd5b610a47816020840160208601612bd6565b600060208284031215612314578081fd5b813561158081612c02565b60008060408385031215612331578081fd5b823561233c81612c02565b9150602083013561234c81612c02565b809150509250929050565b60008060006060848603121561236b578081fd5b833561237681612c02565b925060208401359150604084013567ffffffffffffffff811115612398578182fd5b80850186601f8201126123a9578283fd5b803591506123b96121f683612b94565b8281528760208484010111156123cd578384fd5b8260208301602083013783602084830101528093505050509250925092565b600080600060608486031215612400578283fd5b835167ffffffffffffffff80821115612417578485fd5b81860187601f820112612428578586fd5b805192506124386121f684612b74565b83815260208082019190838101895b878110156124705761245e8d8484518901016122bd565b85529382019390820190600101612447565b50508901519097509350505080821115612488578384fd5b612494878388016121d8565b935060408601519150808211156124a9578283fd5b506124b68682870161224f565b9150509250925092565b600080604083850312156124d2578182fd5b6124dc84846122ad565b91506124eb84602085016122ad565b90509250929050565b60008060008060808587031215612509578081fd5b843561251481612c27565b9350602085013561252481612c35565b9250604085013561253481612c02565b915060608501356fffffffffffffffffffffffffffffffff81168114612558578182fd5b939692955090935050565b60008060408385031215612575578182fd5b823561233c81612c35565b600060208284031215612591578081fd5b5035919050565b600080604083850312156125aa578182fd5b82359150602083013561234c81612c02565b600080600080608085870312156125d1578182fd5b843593506020850135925060408501356125ea81612c27565b9150606085013561255881612c27565b6000825161260c818460208701612bd6565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff861682528460208301526080604083015283518060808401526126788160a0850160208801612bd6565b921515606083015250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160160a0019392505050565b602080825282518282018190526000918401906040840190835b8181101561270257835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016126ce565b509095945050505050565b602080825282518282018190526000918401906040840190835b81811015612702578351835260209384019390920191600101612727565b901515815260200190565b91151582526fffffffffffffffffffffffffffffffff16602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000094909416845273ffffffffffffffffffffffffffffffffffffffff929092166020840152151560408301526fffffffffffffffffffffffffffffffff16606082015260800190565b60608101600485106127e957fe5b938152602081019290925260409091015290565b60608101600885106127e957fe5b6020808252600c908201527f4e554c4c5f414444524553530000000000000000000000000000000000000000604082015260600190565b6020808252601c908201527f44454641554c545f54494d455f4c4f434b5f494e434f4d504c45544500000000604082015260600190565b6020808252600c908201527f4f574e45525f4558495354530000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f54585f414c52454144595f434f4e4649524d4544000000000000000000000000604082015260600190565b60208082526016908201527f54585f4e4f545f46554c4c595f434f4e4649524d454400000000000000000000604082015260600190565b6020808252600f908201527f54585f444f45534e545f45584953540000000000000000000000000000000000604082015260600190565b60208082526010908201527f54585f4e4f545f434f4e4649524d454400000000000000000000000000000000604082015260600190565b60208082526016908201527f455155414c5f4c454e475448535f524551554952454400000000000000000000604082015260600190565b60208082526010908201527f4641494c45445f455845435554494f4e00000000000000000000000000000000604082015260600190565b60208082526012908201527f4f574e45525f444f45534e545f45584953540000000000000000000000000000604082015260600190565b6020808252601b908201527f435553544f4d5f54494d455f4c4f434b5f494e434f4d504c4554450000000000604082015260600190565b60208082526017908201527f4f4e4c595f43414c4c41424c455f42595f57414c4c4554000000000000000000604082015260600190565b60208082526012908201527f54585f46554c4c595f434f4e4649524d45440000000000000000000000000000604082015260600190565b60208082526013908201527f54585f414c52454144595f455845435554454400000000000000000000000000604082015260600190565b60208082526014908201527f494e56414c49445f524551554952454d454e5453000000000000000000000000604082015260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b6c57600080fd5b604052919050565b600067ffffffffffffffff821115612b8a578081fd5b5060209081020190565b600067ffffffffffffffff821115612baa578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612bf1578181015183820152602001612bd9565b83811115610cb85750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612c2457600080fd5b50565b8015158114612c2457600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612c2457600080fdfea365627a7a723158200ac5186607cd3ec8212bb7bd34d7047a94bed6fb931222d7ea453055d00701cd6c6578706572696d656e74616cf564736f6c634300050c0040" } } }, "compiler": { "name": "solc", - "version": "soljson-v0.5.11+commit.c082d0b4.js", + "version": "soljson-v0.5.12+commit.7709ece9.js", "settings": { "optimizer": { "enabled": true, diff --git a/packages/contract-artifacts/artifacts/DevUtils.json b/packages/contract-artifacts/artifacts/DevUtils.json index 299aab438a..72f9585942 100644 --- a/packages/contract-artifacts/artifacts/DevUtils.json +++ b/packages/contract-artifacts/artifacts/DevUtils.json @@ -3,13 +3,24 @@ "contractName": "DevUtils", "compilerOutput": { "abi": [ + { + "inputs": [{ "internalType": "address", "name": "_exchange", "type": "address" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeOrderStatusError", + "name": "decodeAssetProxyDispatchError", "outputs": [ + { + "internalType": "enum LibExchangeRichErrors.AssetProxyDispatchErrorCodes", + "name": "errorCode", + "type": "uint8" + }, { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "enum LibOrder.OrderStatus", "name": "orderStatus", "type": "uint8" } + { "internalType": "bytes", "name": "assetData", "type": "bytes" } ], "payable": false, "stateMutability": "pure", @@ -17,12 +28,11 @@ }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], - "name": "decodeERC721AssetData", + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeAssetProxyExistsError", "outputs": [ { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, - { "internalType": "address", "name": "tokenAddress", "type": "address" }, - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } + { "internalType": "address", "name": "assetProxyAddress", "type": "address" } ], "payable": false, "stateMutability": "pure", @@ -30,31 +40,26 @@ }, { "constant": true, - "inputs": [ - { "internalType": "address", "name": "ownerAddress", "type": "address" }, - { "internalType": "bytes", "name": "assetData", "type": "bytes" } - ], - "name": "getBalanceAndAssetProxyAllowance", + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeAssetProxyTransferError", "outputs": [ - { "internalType": "uint256", "name": "balance", "type": "uint256" }, - { "internalType": "uint256", "name": "allowance", "type": "uint256" } + { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, + { "internalType": "bytes", "name": "assetData", "type": "bytes" }, + { "internalType": "bytes", "name": "errorData", "type": "bytes" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeIncompleteFillError", + "name": "decodeEIP1271SignatureError", "outputs": [ - { - "internalType": "enum LibExchangeRichErrors.IncompleteFillErrorCode", - "name": "errorCode", - "type": "uint8" - }, - { "internalType": "uint256", "name": "expectedAssetFillAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "actualAssetFillAmount", "type": "uint256" } + { "internalType": "address", "name": "verifyingContractAddress", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" }, + { "internalType": "bytes", "name": "signature", "type": "bytes" }, + { "internalType": "bytes", "name": "errorData", "type": "bytes" } ], "payable": false, "stateMutability": "pure", @@ -62,24 +67,26 @@ }, { "constant": true, - "inputs": [ - { "internalType": "address", "name": "ownerAddress", "type": "address" }, - { "internalType": "bytes", "name": "assetData", "type": "bytes" } + "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], + "name": "decodeERC1155AssetData", + "outputs": [ + { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + { "internalType": "address", "name": "tokenAddress", "type": "address" }, + { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "tokenValues", "type": "uint256[]" }, + { "internalType": "bytes", "name": "callbackData", "type": "bytes" } ], - "name": "getTransferableAssetAmount", - "outputs": [{ "internalType": "uint256", "name": "transferableAssetAmount", "type": "uint256" }], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeAssetProxyTransferError", + "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], + "name": "decodeERC20AssetData", "outputs": [ - { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "bytes", "name": "assetData", "type": "bytes" }, - { "internalType": "bytes", "name": "errorData", "type": "bytes" } + { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "payable": false, "stateMutability": "pure", @@ -87,11 +94,12 @@ }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeNegativeSpreadError", + "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], + "name": "decodeERC721AssetData", "outputs": [ - { "internalType": "bytes32", "name": "leftOrderHash", "type": "bytes32" }, - { "internalType": "bytes32", "name": "rightOrderHash", "type": "bytes32" } + { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + { "internalType": "address", "name": "tokenAddress", "type": "address" }, + { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "payable": false, "stateMutability": "pure", @@ -100,15 +108,15 @@ { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeAssetProxyDispatchError", + "name": "decodeExchangeInvalidContextError", "outputs": [ { - "internalType": "enum LibExchangeRichErrors.AssetProxyDispatchErrorCodes", + "internalType": "enum LibExchangeRichErrors.ExchangeContextErrorCodes", "name": "errorCode", "type": "uint8" }, { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "bytes", "name": "assetData", "type": "bytes" } + { "internalType": "address", "name": "contextAddress", "type": "address" } ], "payable": false, "stateMutability": "pure", @@ -117,12 +125,14 @@ { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeSignatureWalletError", + "name": "decodeFillError", "outputs": [ - { "internalType": "bytes32", "name": "hash", "type": "bytes32" }, - { "internalType": "address", "name": "signerAddress", "type": "address" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" }, - { "internalType": "bytes", "name": "errorData", "type": "bytes" } + { + "internalType": "enum LibExchangeRichErrors.FillErrorCodes", + "name": "errorCode", + "type": "uint8" + }, + { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" } ], "payable": false, "stateMutability": "pure", @@ -131,14 +141,15 @@ { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeFillError", + "name": "decodeIncompleteFillError", "outputs": [ { - "internalType": "enum LibExchangeRichErrors.FillErrorCodes", + "internalType": "enum LibExchangeRichErrors.IncompleteFillErrorCode", "name": "errorCode", "type": "uint8" }, - { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" } + { "internalType": "uint256", "name": "expectedAssetFillAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "actualAssetFillAmount", "type": "uint256" } ], "payable": false, "stateMutability": "pure", @@ -146,21 +157,25 @@ }, { "constant": true, - "inputs": [ - { "internalType": "address", "name": "ownerAddress", "type": "address" }, - { "internalType": "bytes[]", "name": "assetData", "type": "bytes[]" } + "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], + "name": "decodeMultiAssetData", + "outputs": [ + { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, + { "internalType": "bytes[]", "name": "nestedAssetData", "type": "bytes[]" } ], - "name": "getBatchAssetProxyAllowances", - "outputs": [{ "internalType": "uint256[]", "name": "allowances", "type": "uint256[]" }], "payable": false, - "stateMutability": "view", + "stateMutability": "pure", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "address", "name": "tokenAddress", "type": "address" }], - "name": "encodeERC20AssetData", - "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeNegativeSpreadError", + "outputs": [ + { "internalType": "bytes32", "name": "leftOrderHash", "type": "bytes32" }, + { "internalType": "bytes32", "name": "rightOrderHash", "type": "bytes32" } + ], "payable": false, "stateMutability": "pure", "type": "function" @@ -180,33 +195,11 @@ }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "transactionData", "type": "bytes" }], - "name": "decodeZeroExTransactionData", + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeOrderStatusError", "outputs": [ - { "internalType": "string", "name": "functionName", "type": "string" }, - { - "components": [ - { "internalType": "address", "name": "makerAddress", "type": "address" }, - { "internalType": "address", "name": "takerAddress", "type": "address" }, - { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, - { "internalType": "address", "name": "senderAddress", "type": "address" }, - { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, - { "internalType": "uint256", "name": "salt", "type": "uint256" }, - { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } - ], - "internalType": "struct LibOrder.Order[]", - "name": "orders", - "type": "tuple[]" - }, - { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } + { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, + { "internalType": "enum LibOrder.OrderStatus", "name": "orderStatus", "type": "uint8" } ], "payable": false, "stateMutability": "pure", @@ -215,10 +208,16 @@ { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeAssetProxyExistsError", + "name": "decodeSignatureError", "outputs": [ - { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, - { "internalType": "address", "name": "assetProxyAddress", "type": "address" } + { + "internalType": "enum LibExchangeRichErrors.SignatureErrorCodes", + "name": "errorCode", + "type": "uint8" + }, + { "internalType": "bytes32", "name": "hash", "type": "bytes32" }, + { "internalType": "address", "name": "signerAddress", "type": "address" }, + { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "payable": false, "stateMutability": "pure", @@ -238,23 +237,13 @@ }, { "constant": true, - "inputs": [ - { "internalType": "address", "name": "ownerAddress", "type": "address" }, - { "internalType": "bytes", "name": "assetData", "type": "bytes" } - ], - "name": "getBalance", - "outputs": [{ "internalType": "uint256", "name": "balance", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], - "name": "decodeERC20AssetData", + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeSignatureWalletError", "outputs": [ - { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, - { "internalType": "address", "name": "tokenAddress", "type": "address" } + { "internalType": "bytes32", "name": "hash", "type": "bytes32" }, + { "internalType": "address", "name": "signerAddress", "type": "address" }, + { "internalType": "bytes", "name": "signature", "type": "bytes" }, + { "internalType": "bytes", "name": "errorData", "type": "bytes" } ], "payable": false, "stateMutability": "pure", @@ -263,16 +252,14 @@ { "constant": true, "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeSignatureError", + "name": "decodeTransactionError", "outputs": [ { - "internalType": "enum LibExchangeRichErrors.SignatureErrorCodes", + "internalType": "enum LibExchangeRichErrors.TransactionErrorCodes", "name": "errorCode", "type": "uint8" }, - { "internalType": "bytes32", "name": "hash", "type": "bytes32" }, - { "internalType": "address", "name": "signerAddress", "type": "address" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } + { "internalType": "bytes32", "name": "transactionHash", "type": "bytes32" } ], "payable": false, "stateMutability": "pure", @@ -280,14 +267,11 @@ }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], - "name": "decodeERC1155AssetData", + "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], + "name": "decodeTransactionExecutionError", "outputs": [ - { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, - { "internalType": "address", "name": "tokenAddress", "type": "address" }, - { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, - { "internalType": "uint256[]", "name": "tokenValues", "type": "uint256[]" }, - { "internalType": "bytes", "name": "callbackData", "type": "bytes" } + { "internalType": "bytes32", "name": "transactionHash", "type": "bytes32" }, + { "internalType": "bytes", "name": "errorData", "type": "bytes" } ], "payable": false, "stateMutability": "pure", @@ -295,16 +279,10 @@ }, { "constant": true, - "inputs": [{ "internalType": "address[]", "name": "addresses", "type": "address[]" }], - "name": "getEthBalances", - "outputs": [{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ + "inputs": [{ "internalType": "bytes", "name": "transactionData", "type": "bytes" }], + "name": "decodeZeroExTransactionData", + "outputs": [ + { "internalType": "string", "name": "functionName", "type": "string" }, { "components": [ { "internalType": "address", "name": "makerAddress", "type": "address" }, @@ -326,28 +304,22 @@ "name": "orders", "type": "tuple[]" }, - { "internalType": "address[]", "name": "takerAddresses", "type": "address[]" }, - { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" } - ], - "name": "getSimulatedOrdersTransferResults", - "outputs": [ - { - "internalType": "enum OrderTransferSimulationUtils.OrderTransferResults[]", - "name": "orderTransferResults", - "type": "uint8[]" - } + { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, - { "internalType": "uint256", "name": "tokenId", "type": "uint256" } + { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "tokenValues", "type": "uint256[]" }, + { "internalType": "bytes", "name": "callbackData", "type": "bytes" } ], - "name": "encodeERC721AssetData", + "name": "encodeERC1155AssetData", "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], "payable": false, "stateMutability": "pure", @@ -355,14 +327,9 @@ }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeEIP1271SignatureError", - "outputs": [ - { "internalType": "address", "name": "verifyingContractAddress", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" }, - { "internalType": "bytes", "name": "errorData", "type": "bytes" } - ], + "inputs": [{ "internalType": "address", "name": "tokenAddress", "type": "address" }], + "name": "encodeERC20AssetData", + "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], "payable": false, "stateMutability": "pure", "type": "function" @@ -371,11 +338,9 @@ "constant": true, "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, - { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }, - { "internalType": "uint256[]", "name": "tokenValues", "type": "uint256[]" }, - { "internalType": "bytes", "name": "callbackData", "type": "bytes" } + { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], - "name": "encodeERC1155AssetData", + "name": "encodeERC721AssetData", "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], "payable": false, "stateMutability": "pure", @@ -383,43 +348,65 @@ }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], - "name": "decodeMultiAssetData", - "outputs": [ - { "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }, + "inputs": [ { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes[]", "name": "nestedAssetData", "type": "bytes[]" } ], + "name": "encodeMultiAssetData", + "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeTransactionExecutionError", - "outputs": [ - { "internalType": "bytes32", "name": "transactionHash", "type": "bytes32" }, - { "internalType": "bytes", "name": "errorData", "type": "bytes" } + "inputs": [ + { "internalType": "address", "name": "ownerAddress", "type": "address" }, + { "internalType": "bytes", "name": "assetData", "type": "bytes" } ], + "name": "getAssetProxyAllowance", + "outputs": [{ "internalType": "uint256", "name": "allowance", "type": "uint256" }], "payable": false, - "stateMutability": "pure", + "stateMutability": "view", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeTransactionError", + "inputs": [ + { "internalType": "address", "name": "ownerAddress", "type": "address" }, + { "internalType": "bytes", "name": "assetData", "type": "bytes" } + ], + "name": "getBalance", + "outputs": [{ "internalType": "uint256", "name": "balance", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { "internalType": "address", "name": "ownerAddress", "type": "address" }, + { "internalType": "bytes", "name": "assetData", "type": "bytes" } + ], + "name": "getBalanceAndAssetProxyAllowance", "outputs": [ - { - "internalType": "enum LibExchangeRichErrors.TransactionErrorCodes", - "name": "errorCode", - "type": "uint8" - }, - { "internalType": "bytes32", "name": "transactionHash", "type": "bytes32" } + { "internalType": "uint256", "name": "balance", "type": "uint256" }, + { "internalType": "uint256", "name": "allowance", "type": "uint256" } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { "internalType": "address", "name": "ownerAddress", "type": "address" }, + { "internalType": "bytes[]", "name": "assetData", "type": "bytes[]" } + ], + "name": "getBatchAssetProxyAllowances", + "outputs": [{ "internalType": "uint256[]", "name": "allowances", "type": "uint256[]" }], + "payable": false, + "stateMutability": "view", "type": "function" }, { @@ -438,16 +425,28 @@ "constant": true, "inputs": [ { "internalType": "address", "name": "ownerAddress", "type": "address" }, - { "internalType": "bytes", "name": "assetData", "type": "bytes" } + { "internalType": "bytes[]", "name": "assetData", "type": "bytes[]" } + ], + "name": "getBatchBalancesAndAssetProxyAllowances", + "outputs": [ + { "internalType": "uint256[]", "name": "balances", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "allowances", "type": "uint256[]" } ], - "name": "getAssetProxyAllowance", - "outputs": [{ "internalType": "uint256", "name": "allowance", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": false, + "constant": true, + "inputs": [{ "internalType": "address[]", "name": "addresses", "type": "address[]" }], + "name": "getEthBalances", + "outputs": [{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, "inputs": [ { "components": [ @@ -470,31 +469,25 @@ "name": "order", "type": "tuple" }, - { "internalType": "address", "name": "takerAddress", "type": "address" }, - { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" } + { "internalType": "bytes", "name": "signature", "type": "bytes" } ], - "name": "getSimulatedOrderTransferResults", + "name": "getOrderRelevantState", "outputs": [ { - "internalType": "enum OrderTransferSimulationUtils.OrderTransferResults", - "name": "orderTransferResults", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, - { "internalType": "bytes[]", "name": "nestedAssetData", "type": "bytes[]" } + "components": [ + { "internalType": "uint8", "name": "orderStatus", "type": "uint8" }, + { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, + { "internalType": "uint256", "name": "orderTakerAssetFilledAmount", "type": "uint256" } + ], + "internalType": "struct LibOrder.OrderInfo", + "name": "orderInfo", + "type": "tuple" + }, + { "internalType": "uint256", "name": "fillableTakerAssetAmount", "type": "uint256" }, + { "internalType": "bool", "name": "isValidSignature", "type": "bool" } ], - "name": "encodeMultiAssetData", - "outputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], "payable": false, - "stateMutability": "pure", + "stateMutability": "view", "type": "function" }, { @@ -543,22 +536,46 @@ "type": "function" }, { - "constant": true, + "constant": false, "inputs": [ - { "internalType": "address", "name": "ownerAddress", "type": "address" }, - { "internalType": "bytes[]", "name": "assetData", "type": "bytes[]" } + { + "components": [ + { "internalType": "address", "name": "makerAddress", "type": "address" }, + { "internalType": "address", "name": "takerAddress", "type": "address" }, + { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, + { "internalType": "address", "name": "senderAddress", "type": "address" }, + { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, + { "internalType": "uint256", "name": "salt", "type": "uint256" }, + { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } + ], + "internalType": "struct LibOrder.Order", + "name": "order", + "type": "tuple" + }, + { "internalType": "address", "name": "takerAddress", "type": "address" }, + { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" } ], - "name": "getBatchBalancesAndAssetProxyAllowances", + "name": "getSimulatedOrderTransferResults", "outputs": [ - { "internalType": "uint256[]", "name": "balances", "type": "uint256[]" }, - { "internalType": "uint256[]", "name": "allowances", "type": "uint256[]" } + { + "internalType": "enum OrderTransferSimulationUtils.OrderTransferResults", + "name": "orderTransferResults", + "type": "uint8" + } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { - "constant": true, + "constant": false, "inputs": [ { "components": [ @@ -577,53 +594,36 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order", - "name": "order", - "type": "tuple" + "internalType": "struct LibOrder.Order[]", + "name": "orders", + "type": "tuple[]" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } + { "internalType": "address[]", "name": "takerAddresses", "type": "address[]" }, + { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" } ], - "name": "getOrderRelevantState", + "name": "getSimulatedOrdersTransferResults", "outputs": [ { - "components": [ - { "internalType": "uint8", "name": "orderStatus", "type": "uint8" }, - { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "uint256", "name": "orderTakerAssetFilledAmount", "type": "uint256" } - ], - "internalType": "struct LibOrder.OrderInfo", - "name": "orderInfo", - "type": "tuple" - }, - { "internalType": "uint256", "name": "fillableTakerAssetAmount", "type": "uint256" }, - { "internalType": "bool", "name": "isValidSignature", "type": "bool" } + "internalType": "enum OrderTransferSimulationUtils.OrderTransferResults[]", + "name": "orderTransferResults", + "type": "uint8[]" + } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "bytes", "name": "encoded", "type": "bytes" }], - "name": "decodeExchangeInvalidContextError", - "outputs": [ - { - "internalType": "enum LibExchangeRichErrors.ExchangeContextErrorCodes", - "name": "errorCode", - "type": "uint8" - }, - { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "address", "name": "contextAddress", "type": "address" } + "inputs": [ + { "internalType": "address", "name": "ownerAddress", "type": "address" }, + { "internalType": "bytes", "name": "assetData", "type": "bytes" } ], + "name": "getTransferableAssetAmount", + "outputs": [{ "internalType": "uint256", "name": "transferableAssetAmount", "type": "uint256" }], "payable": false, - "stateMutability": "pure", + "stateMutability": "view", "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_exchange", "type": "address" }], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" } ], "devdoc": { @@ -858,16 +858,16 @@ }, "evm": { "bytecode": { - "object": "0x60806040523480156200001157600080fd5b5060405162005cb838038062005cb88339810160408190526200003491620003be565b600080546001600160a01b0319166001600160a01b0383811691909117918290556040517f60704108000000000000000000000000000000000000000000000000000000008152839283928392911690636070410890620000ba907ff47261b00000000000000000000000000000000000000000000000000000000090600401620003f0565b60206040518083038186803b158015620000d357600080fd5b505afa158015620000e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200010e9190810190620003be565b600180546001600160a01b0319166001600160a01b039283161790556000546040517f607041080000000000000000000000000000000000000000000000000000000081529116906360704108906200018c907f025717920000000000000000000000000000000000000000000000000000000090600401620003f0565b60206040518083038186803b158015620001a557600080fd5b505afa158015620001ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001e09190810190620003be565b600280546001600160a01b0319166001600160a01b039283161790556000546040517f607041080000000000000000000000000000000000000000000000000000000081529116906360704108906200025e907fa7cb5fb70000000000000000000000000000000000000000000000000000000090600401620003f0565b60206040518083038186803b1580156200027757600080fd5b505afa1580156200028c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620002b29190810190620003be565b600380546001600160a01b0319166001600160a01b039283161790556000546040517f6070410800000000000000000000000000000000000000000000000000000000815291169063607041089062000330907fc339d10a0000000000000000000000000000000000000000000000000000000090600401620003f0565b60206040518083038186803b1580156200034957600080fd5b505afa1580156200035e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620003849190810190620003be565b600480546001600160a01b039283166001600160a01b0319918216179091556005805495909216941693909317909255506200041d915050565b600060208284031215620003d157600080fd5b81516001600160a01b0381168114620003e957600080fd5b9392505050565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b61588b806200042d6000396000f3fe608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f366004614a03565b61069f565b6040516102829291906152ef565b60405180910390f35b61029e610299366004614a03565b6106fb565b60405161028293929190615392565b6102c06102bb366004614572565b6107a9565b60405161028292919061529d565b6102e16102dc366004614a03565b6107cb565b604051610282939291906154cd565b6103036102fe366004614572565b610828565b604051610282919061573d565b61032361031e366004614a03565b610850565b604051610282939291906152c4565b6102c0610340366004614a03565b610897565b610358610353366004614a03565b6108d9565b60405161028293929190615443565b61037a610375366004614a03565b61092c565b6040516102829493929190615263565b61039d610398366004614a03565b610976565b6040516102829291906154b6565b6103be6103b9366004614496565b6109cc565b60405161028291906151fd565b6103de6103d9366004614363565b610a4f565b60405161028291906153f2565b6103fe6103f9366004614a03565b610ad3565b60405161028293929190614ffa565b61042061041b366004614a03565b610b0d565b6040516102829493929190615540565b61044361043e366004614a03565b61164e565b60405161028292919061530c565b61046461045f366004614a03565b611686565b604051610282929190614fe0565b610303610480366004614572565b6116be565b610443610493366004614a03565b611dd3565b6104ab6104a6366004614a03565b611e63565b60405161028294939291906154fc565b6104ce6104c9366004614a03565b611ec4565b60405161028295949392919061532f565b6103be6104ed3660046145e4565b611f6f565b61050561050036600461464e565b611fe8565b6040516102829190615114565b6103de6105203660046145b8565b6120ac565b610538610533366004614a03565b612133565b6040516102829493929190615070565b6103de6105563660046144e6565b61216f565b61056e610569366004614a03565b6121fc565b604051610282939291906153bd565b61059061058b366004614a03565b6122a9565b6040516102829291906152ab565b6105b16105ac366004614a03565b6122e2565b604051610282929190615533565b6103be6105cd366004614496565b612330565b6103036105e0366004614572565b61239e565b6105f86105f3366004614ac0565b6129e1565b60405161028291906154e8565b6103de6106133660046147f9565b612f7e565b61062b6106263660046146d2565b612fb6565b60405161028293929190615161565b61064d610648366004614496565b6130ee565b60405161028292919061523e565b61066e610669366004614b1a565b613107565b604051610282939291906156e1565b61069061068b366004614a03565b613349565b6040516102829392919061548c565b6000806106b3836106ae613386565b6133aa565b60006106cc60048551866134049092919063ffffffff16565b8060200190516106df91908101906149b3565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61344716565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b60405180910390fd5b61078e84601063ffffffff61347b16565b91506107a184602463ffffffff6134ae16565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134ba565b60006107f560048651876134049092919063ffffffff16565b8060200190516108089190810190614d58565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134de565b925050505b92915050565b6000606080610861846106ae6134f4565b835161087790859060049063ffffffff61340416565b80602001905161088a9190810190614953565b9196909550909350915050565b6000806108a6836106ae613518565b82516108bc90849060049063ffffffff61340416565b8060200190516108cf91908101906148f2565b9094909350915050565b60008060606108ea846106ae61353c565b600061090360048651876134049092919063ffffffff16565b8060200190516109169190810190614d0a565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613560565b845161095490869060049063ffffffff61340416565b80602001905161096791908101906148ac565b92989197509550909350915050565b600080610985836106ae613584565b600061099e60048551866134049092919063ffffffff16565b8060200190516109b19190810190614c39565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fcc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a8565b8351610afa90859060049063ffffffff61340416565b80602001905161088a91908101906143ba565b60608080806000610b24868263ffffffff61344716565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061563c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615605565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135cc16565b80602001905161117f9190810190614619565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c8661364c565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c98565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135cc16565b8060200190516113059190810190614a8b565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c8661367b565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c86613775565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c98565b6114e8613c98565b60608061150260048b518c6135cc9092919063ffffffff16565b8060200190516115159190810190614b74565b604080516002808252606082019092529498509296509094509250816020015b61153d613c98565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e9565b825161167390849060049063ffffffff61340416565b8060200190516108cf91908101906149d8565b600080611695836106ae61380d565b82516116ab90849060049063ffffffff61340416565b8060200190516108cf9190810190614380565b6000806116d1838263ffffffff61344716565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347b16565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fcc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614fb0565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134ae16565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c090849060240161573d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614fb0565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347b16565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a859291906150a4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614fb0565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134ae16565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c3390869060009081908190602401615405565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614fb0565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61344716565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b611e5c83601063ffffffff61347b16565b9050915091565b60008060006060611e76856106ae613831565b6000611e8f60048751886134049092919063ffffffff16565b806020019051611ea29190810190614caa565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61344716565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e490859085906024016150a4565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae613855565b845161215c90869060049063ffffffff61340416565b80602001905161096791908101906143fd565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab90879087908790879060240161501e565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61344716565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b835161228c90859060049063ffffffff6135cc16565b80602001905161229f9190810190614830565b9395909450915050565b600060606122b9836106ae613879565b82516122cf90849060049063ffffffff61340416565b8060200190516108cf9190810190614916565b6000806122f1836106ae61389d565b600061230a60048551866134049092919063ffffffff16565b80602001905161231d9190810190614c39565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61344716565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347b16565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fe0565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fe0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614fb0565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134ae16565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e90879060240161573d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614fb0565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347b16565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fe0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614fb0565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134ae16565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d2b565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614c20565b3a6138c1565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150bd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614fb0565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61344716565b9050612e9061353c565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134f4565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155ce565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615210565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d5a565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d5a565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b990613159908890600401615705565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a38565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb9089908990600401615718565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061488a565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393816565b156132ba576132b3846132ad848d6080015161395d90919063ffffffff16565b85613979565b905061331b565b60006132cb868c6101800151610828565b9050826132e8576132e1858c6080015186613979565b9150613319565b60006132f9868d6080015187613979565b90506000613308838688613979565b905061331482826134de565b935050505b505b61333b6133358960400151856139a390919063ffffffff16565b826134de565b965050505050509250925092565b600080600061335a846106ae6139c2565b600061337360048651876134049092919063ffffffff16565b8060200190516108089190810190614c67565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133b7836000613447565b90506001600160e01b0319808216908316146133ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615673565b505050565b6060818311156134225761342261341d600085856139e6565b613a55565b835182111561343b5761343b61341d60018487516139e6565b50819003910190815290565b600081600401835110156134685761346861341d60038551856004016139e6565b5001602001516001600160e01b03191690565b6000816014018351101561349c5761349c61341d60048551856014016139e6565b5001601401516001600160a01b031690565b60006120a58383613a5d565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134ed57816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135e5576135e561341d600085856139e6565b83518211156135fe576135fe61341d60018487516139e6565b8282036040519080825280601f01601f19166020018201604052801561362b576020820181803883390190505b5090506120a561363a82613a87565b8461364487613a87565b018351613a8d565b606080606061366860048551866135cc9092919063ffffffff16565b80602001905161088a919081019061472c565b60408051600180825281830190925260609182918291816020015b61369e613c98565b8152602001906001900390816136965750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136e7575050845190915061371490859060049063ffffffff6135cc16565b8060200190516137279190810190614bcd565b8560008151811061373457fe5b602002602001018560008151811061374857fe5b602002602001018560008151811061375c57fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137b19186915060049063ffffffff6135cc16565b8060200190516137c491908101906147a6565b845185906000906137d157fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c9613d2b565b6020810184905260a085015160808601516138e5918691613b32565b815260a085015160c08601516138fc918691613b32565b604082015260a085015160e0860151613916918691613b32565b606082015261392b828463ffffffff613b6616565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341d60008686613b93565b600061399b8361398f868563ffffffff613b6616565b9063ffffffff613bb216565b949350505050565b6000828211156139bc576139bc61341d60028585613b93565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b848484604051602401613a05939291906154da565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7e57613a7e61341d60058551856020016139e6565b50016020015190565b60200190565b6020811015613ab7576001816020036101000a0380198351168185511680821786525050506133ff565b82821415613ac4576133ff565b82821115613afe5760208103905080820181840181515b82851015613af6578451865260209586019590940193613adb565b9052506133ff565b60208103905080820181840183515b81861215613b295782518252601f199283019290910190613b0d565b85525050505050565b6000613b3f848484613bdc565b15613b5257613b5261341d858585613c42565b61399b8361398f868563ffffffff613b6616565b600082613b755750600061084a565b82820282848281613b8257fe5b04146120a5576120a561341d600186865b606063e946c1bb60e01b848484604051602401613a059392919061546b565b600081613bc857613bc861341d60038585613b93565b6000828481613bd357fe5b04949350505050565b600082613bee57613bee61341d613c61565b811580613bf9575083155b15613c06575060006120a5565b60008380613c1057fe5b8584099050613c25858463ffffffff613b6616565b613c37826103e863ffffffff613b6616565b101595945050505050565b606063339f3de260e01b848484604051602401613a0593929190615746565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615824565b805161084a81615824565b600082601f830112613da0578081fd5b8135613db3613dae82615783565b61575c565b818152915060208083019084810181840286018201871015613dd457600080fd5b60005b84811015611dc7578135613dea81615824565b84529282019290820190600101613dd7565b600082601f830112613e0c578081fd5b8151613e1a613dae82615783565b8181529150602080830190840160005b83811015613e5757613e42876020845189010161407c565b83526020928301929190910190600101613e2a565b5050505092915050565b600082601f830112613e71578081fd5b8135613e7f613dae82615783565b8181529150602080830190840160005b83811015613e5757613ea7876020843589010161402e565b83526020928301929190910190600101613e8f565b600082601f830112613ecc578081fd5b8151613eda613dae82615783565b8181529150602080830190840160005b83811015613e5757613f028760208451890101614211565b83526020928301929190910190600101613eea565b600082601f830112613f27578081fd5b8135613f35613dae82615783565b8181529150602080830190840160005b83811015613e5757613f5d87602084358901016140c3565b83526020928301929190910190600101613f45565b600082601f830112613f82578081fd5b8151613f90613dae82615783565b818152915060208083019084810181840286018201871015613fb157600080fd5b60005b84811015611dc757815184529282019290820190600101613fb4565b600082601f830112613fe0578081fd5b8135613fee613dae82615783565b81815291506020808301908481018184028601820187101561400f57600080fd5b60005b84811015611dc757813584529282019290820190600101614012565b600082601f83011261403e578081fd5b813561404c613dae826157a4565b915080825283602082850101111561406357600080fd5b8060208401602084013760009082016020015292915050565b600082601f83011261408d57600080fd5b815161409b613dae826157a4565b91508082528360208285010111156140b257600080fd5b611dcc8160208401602086016157c9565b60006101c08083850312156140d6578182fd5b6140df8161575c565b91505060006140ee8484613d7a565b82526140fd8460208501613d7a565b602083015261410f8460408501613d7a565b60408301526141218460608501613d7a565b60608301526080830135608083015260a083013560a083015260c083013560c083015260e083013560e08301526101008084013581840152506101208084013581840152506101408084013567ffffffffffffffff80821115614182578384fd5b61418e8783880161402e565b838601526101609250828601359150808211156141a9578384fd5b6141b58783880161402e565b838601526101809250828601359150808211156141d0578384fd5b6141dc8783880161402e565b838601526101a09250828601359150808211156141f7578384fd5b506142048682870161402e565b8285015250505092915050565b60006101c0808385031215614224578182fd5b61422d8161575c565b915050600061423c8484613d85565b825261424b8460208501613d85565b602083015261425d8460408501613d85565b604083015261426f8460608501613d85565b60608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015167ffffffffffffffff808211156142d0578384fd5b6142dc8783880161407c565b838601526101609250828601519150808211156142f7578384fd5b6143038783880161407c565b8386015261018092508286015191508082111561431e578384fd5b61432a8783880161407c565b838601526101a0925082860151915080821115614345578384fd5b506142048682870161407c565b805160ff8116811461084a57600080fd5b60006020828403121561437557600080fd5b81356120a581615824565b6000806040838503121561439357600080fd5b825161439e81615824565b60208401519092506143af81615824565b809150509250929050565b6000806000606084860312156143cf57600080fd5b83516143da81615824565b60208501519093506143eb81615824565b80925050604084015190509250925092565b60008060008060808587031215614412578182fd5b845161441d81615824565b602086015190945067ffffffffffffffff8082111561443a578384fd5b6144468883890161407c565b9450604087015191508082111561445b578384fd5b6144678883890161407c565b9350606087015191508082111561447d57600080fd5b5061448a8782880161407c565b91505092959194509250565b600080604083850312156144a957600080fd5b82356144b481615824565b9150602083013567ffffffffffffffff8111156144d057600080fd5b6144dc85828601613e61565b9150509250929050565b600080600080608085870312156144fb578182fd5b843561450681615824565b9350602085013567ffffffffffffffff80821115614522578384fd5b61452e88838901613fd0565b94506040870135915080821115614543578384fd5b61454f88838901613fd0565b9350606087013591508082111561456557600080fd5b5061448a8782880161402e565b6000806040838503121561458557600080fd5b823561459081615824565b9150602083013567ffffffffffffffff8111156145ac57600080fd5b6144dc8582860161402e565b600080604083850312156145cb57600080fd5b82356145d681615824565b946020939093013593505050565b6000602082840312156145f657600080fd5b813567ffffffffffffffff81111561460d57600080fd5b61399b84828501613d90565b60006020828403121561462b57600080fd5b815167ffffffffffffffff81111561464257600080fd5b61399b84828501613ebc565b600080600060608486031215614662578081fd5b833567ffffffffffffffff80821115614679578283fd5b61468587838801613f17565b9450602086013591508082111561469a578283fd5b6146a687838801613d90565b935060408601359150808211156146bb578283fd5b506146c886828701613fd0565b9150509250925092565b600080604083850312156146e557600080fd5b823567ffffffffffffffff808211156146fd57600080fd5b61470986838701613f17565b9350602085013591508082111561471f57600080fd5b506144dc85828601613e61565b600080600060608486031215614740578081fd5b835167ffffffffffffffff80821115614757578283fd5b61476387838801613ebc565b94506020860151915080821115614778578283fd5b61478487838801613f72565b93506040860151915080821115614799578283fd5b506146c886828701613dfc565b6000806000606084860312156147ba578081fd5b835167ffffffffffffffff808211156147d1578283fd5b6147dd87838801613ebc565b9450602086015193506040860151915080821115614799578283fd5b6000806040838503121561480c57600080fd5b823567ffffffffffffffff8082111561482457600080fd5b61470986838701613fd0565b6000806040838503121561484357600080fd5b825167ffffffffffffffff8082111561485b57600080fd5b61486786838701613f72565b9350602085015191508082111561487d57600080fd5b506144dc85828601613dfc565b60006020828403121561489c57600080fd5b815180151581146120a557600080fd5b600080600080608085870312156148c257600080fd5b8451935060208501516148d481615824565b604086015190935067ffffffffffffffff8082111561445b57600080fd5b6000806040838503121561490557600080fd5b505080516020909101519092909150565b6000806040838503121561492957600080fd5b82519150602083015167ffffffffffffffff81111561494757600080fd5b6144dc8582860161407c565b600080600060608486031215614967578081fd5b83519250602084015167ffffffffffffffff80821115614985578283fd5b6149918783880161407c565b935060408601519150808211156149a6578283fd5b506146c88682870161407c565b600080604083850312156149c657600080fd5b8251915060208301516143af81615839565b600080604083850312156149eb57600080fd5b82516001600160e01b03198116811461439e57600080fd5b600060208284031215614a1557600080fd5b813567ffffffffffffffff811115614a2c57600080fd5b61399b8482850161402e565b60006060828403128015614a4b57600080fd5b8015614a5657600080fd5b50614a61606061575c565b8251614a6c81615839565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a9d57600080fd5b815167ffffffffffffffff811115614ab457600080fd5b61399b84828501614211565b600080600060608486031215614ad557600080fd5b833567ffffffffffffffff811115614aec57600080fd5b614af8868287016140c3565b9350506020840135614b0981615824565b929592945050506040919091013590565b60008060408385031215614b2d57600080fd5b823567ffffffffffffffff80821115614b4557600080fd5b614b51868387016140c3565b93506020850135915080821115614b6757600080fd5b506144dc8582860161402e565b60008060008060808587031215614b89578182fd5b845167ffffffffffffffff80821115614ba0578384fd5b614bac88838901614211565b95506020870151915080821115614bc1578384fd5b61444688838901614211565b600080600060608486031215614be1578081fd5b835167ffffffffffffffff80821115614bf8578283fd5b614c0487838801614211565b94506020860151935060408601519150808211156149a6578283fd5b600060208284031215614c3257600080fd5b5051919050565b60008060408385031215614c4c57600080fd5b8251614c5781615839565b6020939093015192949293505050565b600080600060608486031215614c7c57600080fd5b8351614c8781615839565b602085015160408601519194509250614c9f81615824565b809150509250925092565b60008060008060808587031215614cc057600080fd5b614cca8686614352565b9350602085015192506040850151614ce181615824565b606086015190925067ffffffffffffffff811115614cfe57600080fd5b61448a8782880161407c565b600080600060608486031215614d1f57600080fd5b614d298585614352565b925060208401519150604084015167ffffffffffffffff811115614d4c57600080fd5b6146c88682870161407c565b600080600060608486031215614d6d57600080fd5b614d778585614352565b925060208401519150604084015190509250925092565b6001600160a01b03169052565b600081518084526020840193506020830160005b82811015614dd65781516001600160a01b0316865260209586019590910190600101614daf565b5093949350505050565b60008151808452602084019350836020820285016020850160005b84811015614e29578383038852614e13838351614e67565b6020988901989093509190910190600101614dfb565b50909695505050505050565b600081518084526020840193506020830160005b82811015614dd6578151865260209586019590910190600101614e49565b60008151808452614e7f8160208601602086016157c9565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ebf848451614d8e565b6020830151614ed16020860182614d8e565b506040830151614ee46040860182614d8e565b506060830151614ef76060860182614d8e565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f5083870182614e67565b91505061016091508184015185820383870152614f6d8282614e67565b925050506101808084015185830382870152614f898382614e67565b9150506101a091508184015185820383870152614fa68282614e67565b9695505050505050565b60008251614fc28184602087016157c9565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150406080830186614e35565b82810360408401526150528186614e35565b83810360608501526150648186614e67565b98975050505050505050565b60006001600160a01b0386168252608060208301526150926080830186614e67565b82810360408401526150528186614e67565b6001600160a01b03929092168252602082015260400190565b6000608082526150d06080830187614de0565b82810360208401526150e28187614d9b565b83810360408501526150f48187614d9b565b91505082810360608401526151098185614e35565b979650505050505050565b602080825282518282018190526000918401906040840190835b818110156151565783516005811061514257fe5b83526020938401939092019160010161512e565b509095945050505050565b606080825284519082018190526000906020906080840190828801845b828110156151a457615191848351614e93565b606093909301929084019060010161517e565b505050838103828501526151b88187614e35565b8481036040860152855180825290830191508286019060005b818110156151ef5782511515845292840192918401916001016151d1565b509198975050505050505050565b6000602082526120a56020830184614e35565b6000604082526152236040830185614e35565b82810360208401526152358185614de0565b95945050505050565b6000604082526152516040830185614e35565b82810360208401526152358185614e35565b60008582526001600160a01b03851660208301526080604083015261528b6080830185614e67565b82810360608401526151098185614e67565b918252602082015260400190565b60008382526040602083015261399b6040830184614e67565b6000848252606060208301526152dd6060830185614e67565b8281036040840152614fa68185614e67565b828152604081016152ff8361581a565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261536160a0830186614e35565b82810360608401526153738186614e35565b83810360808501526153858186614e67565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153e06060830185614e35565b8281036040840152614fa68185614de0565b6000602082526120a56020830184614e67565b6000608082526154186080830187614e67565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b600061544e856157f9565b848252836020830152606060408301526152356060830184614e67565b6060810161547885615806565b938152602081019290925260409091015290565b6060810161549985615810565b93815260208101929092526001600160a01b031660409091015290565b604081016154c384615806565b9281526020015290565b6060810161547885615810565b606081016008851061547857fe5b60208101600583106154f657fe5b91905290565b60006155078661581a565b8582528460208301526001600160a01b038416604083015260806060830152614fa66080830184614e67565b604081016154c3846157f9565b6000608082526155536080830187614e67565b602083820381850152818751808452828401915082838202850101838a0160005b838110156155a257601f19878403018552615590838351614eaf565b94860194925090850190600101615574565b505086810360408801526155b6818a614e35565b94505050505082810360608401526151098185614de0565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156ef8286614e93565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614eaf565b60006040825261572b6040830185614eaf565b82810360208401526152358185614e67565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561577b57600080fd5b604052919050565b600067ffffffffffffffff82111561579a57600080fd5b5060209081020190565b600067ffffffffffffffff8211156157bb57600080fd5b50601f01601f191660200190565b60005b838110156157e45781810151838201526020016157cc565b838111156157f3576000848401525b50505050565b6002811061580357fe5b50565b6004811061580357fe5b6003811061580357fe5b6007811061580357fe5b6001600160a01b038116811461580357600080fd5b60ff8116811461580357600080fdfea365627a7a723158203ec184ccc404ffb9769f18bab87aeb800141e5e5acee03a26f36bff1f78e8b546c6578706572696d656e74616cf564736f6c634300050b0040" + "object": "0x60806040523480156200001157600080fd5b5060405162005ca838038062005ca88339810160408190526200003491620003be565b600080546001600160a01b0319166001600160a01b0383811691909117918290556040517f60704108000000000000000000000000000000000000000000000000000000008152839283928392911690636070410890620000ba907ff47261b00000000000000000000000000000000000000000000000000000000090600401620003ee565b60206040518083038186803b158015620000d357600080fd5b505afa158015620000e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200010e9190810190620003be565b600180546001600160a01b0319166001600160a01b039283161790556000546040517f607041080000000000000000000000000000000000000000000000000000000081529116906360704108906200018c907f025717920000000000000000000000000000000000000000000000000000000090600401620003ee565b60206040518083038186803b158015620001a557600080fd5b505afa158015620001ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001e09190810190620003be565b600280546001600160a01b0319166001600160a01b039283161790556000546040517f607041080000000000000000000000000000000000000000000000000000000081529116906360704108906200025e907fa7cb5fb70000000000000000000000000000000000000000000000000000000090600401620003ee565b60206040518083038186803b1580156200027757600080fd5b505afa1580156200028c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620002b29190810190620003be565b600380546001600160a01b0319166001600160a01b039283161790556000546040517f6070410800000000000000000000000000000000000000000000000000000000815291169063607041089062000330907fc339d10a0000000000000000000000000000000000000000000000000000000090600401620003ee565b60206040518083038186803b1580156200034957600080fd5b505afa1580156200035e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620003849190810190620003be565b600480546001600160a01b039283166001600160a01b0319918216179091556005805495909216941693909317909255506200041b915050565b600060208284031215620003d0578081fd5b81516001600160a01b0381168114620003e7578182fd5b9392505050565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b61587d806200042b6000396000f3fe608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f3660046149dd565b61069f565b6040516102829291906152e4565b60405180910390f35b61029e6102993660046149dd565b6106fb565b60405161028293929190615387565b6102c06102bb366004614565565b6107a9565b604051610282929190615292565b6102e16102dc3660046149dd565b6107cb565b604051610282939291906154c2565b6103036102fe366004614565565b610828565b6040516102829190615731565b61032361031e3660046149dd565b610850565b604051610282939291906152b9565b6102c06103403660046149dd565b610897565b6103586103533660046149dd565b6108d9565b60405161028293929190615438565b61037a6103753660046149dd565b61092c565b6040516102829493929190615258565b61039d6103983660046149dd565b610976565b6040516102829291906154ab565b6103be6103b936600461448c565b6109cc565b60405161028291906151f2565b6103de6103d936600461435d565b610a4f565b60405161028291906153e7565b6103fe6103f93660046149dd565b610ad3565b60405161028293929190614fdf565b61042061041b3660046149dd565b610b0d565b6040516102829493929190615535565b61044361043e3660046149dd565b61164e565b604051610282929190615301565b61046461045f3660046149dd565b611686565b604051610282929190614fc5565b610303610480366004614565565b6116be565b6104436104933660046149dd565b611dd3565b6104ab6104a63660046149dd565b611e63565b60405161028294939291906154f1565b6104ce6104c93660046149dd565b611ec4565b604051610282959493929190615324565b6103be6104ed3660046145d4565b611f6f565b61050561050036600461463a565b611fe8565b60405161028291906150f9565b6103de6105203660046145a9565b6120ac565b6105386105333660046149dd565b612133565b6040516102829493929190615055565b6103de6105563660046144da565b61216f565b61056e6105693660046149dd565b6121fc565b604051610282939291906153b2565b61059061058b3660046149dd565b6122a9565b6040516102829291906152a0565b6105b16105ac3660046149dd565b6122e2565b604051610282929190615528565b6103be6105cd36600461448c565b612330565b6103036105e0366004614565565b61239e565b6105f86105f3366004614a94565b6129e1565b60405161028291906154dd565b6103de6106133660046147e2565b612f7e565b61062b6106263660046146be565b612fb6565b60405161028293929190615146565b61064d61064836600461448c565b6130ee565b604051610282929190615233565b61066e610669366004614aec565b613107565b604051610282939291906156d5565b61069061068b3660046149dd565b613341565b60405161028293929190615481565b6000806106b3836106ae61337e565b6133a2565b60006106cc60048551866133fc9092919063ffffffff16565b8060200190516106df9190810190614990565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61343f16565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b60405180910390fd5b61078e84601063ffffffff61347316565b91506107a184602463ffffffff6134a616565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134b2565b60006107f560048651876133fc9092919063ffffffff16565b8060200190516108089190810190614d20565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134d6565b925050505b92915050565b6000606080610861846106ae6134ec565b835161087790859060049063ffffffff6133fc16565b80602001905161088a9190810190614930565b9196909550909350915050565b6000806108a6836106ae613510565b82516108bc90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148d2565b9094909350915050565b60008060606108ea846106ae613534565b600061090360048651876133fc9092919063ffffffff16565b8060200190516109169190810190614cd4565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613558565b845161095490869060049063ffffffff6133fc16565b806020019051610967919081019061488e565b92989197509550909350915050565b600080610985836106ae61357c565b600061099e60048551866133fc9092919063ffffffff16565b8060200190516109b19190810190614c07565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fb1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a0565b8351610afa90859060049063ffffffff6133fc16565b80602001905161088a91908101906143b2565b60608080806000610b24868263ffffffff61343f16565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615630565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155f9565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135c416565b80602001905161117f9190810190614607565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c86613644565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c90565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135c416565b8060200190516113059190810190614a61565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c86613673565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c8661376d565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c90565b6114e8613c90565b60608061150260048b518c6135c49092919063ffffffff16565b8060200190516115159190810190614b43565b604080516002808252606082019092529498509296509094509250816020015b61153d613c90565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e1565b825161167390849060049063ffffffff6133fc16565b8060200190516108cf91908101906149b4565b600080611695836106ae613805565b82516116ab90849060049063ffffffff6133fc16565b8060200190516108cf9190810190614379565b6000806116d1838263ffffffff61343f16565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347316565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fb1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614f95565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134a616565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c0908490602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614f95565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347316565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a85929190615089565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614f95565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134a616565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c33908690600090819081906024016153fa565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614f95565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61343f16565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b611e5c83601063ffffffff61347316565b9050915091565b60008060006060611e76856106ae613829565b6000611e8f60048751886133fc9092919063ffffffff16565b806020019051611ea29190810190614c76565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61343f16565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e49085908590602401615089565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae61384d565b845161215c90869060049063ffffffff6133fc16565b80602001905161096791908101906143f4565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab908790879087908790602401615003565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61343f16565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b835161228c90859060049063ffffffff6135c416565b80602001905161229f9190810190614817565b9395909450915050565b600060606122b9836106ae613871565b82516122cf90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148f5565b6000806122f1836106ae613895565b600061230a60048551866133fc9092919063ffffffff16565b80602001905161231d9190810190614c07565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61343f16565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347316565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fc5565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614f95565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134a616565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e908790602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614f95565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347316565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614f95565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134a616565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d23565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614bef565b3a6138b9565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150a2565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614f95565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61343f16565b9050612e90613534565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134ec565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155c2565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615205565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d52565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d52565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b9906131599088906004016156f9565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a10565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb908990899060040161570c565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061486e565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393016565b156132ba576132b3846132ad848d6080015161395590919063ffffffff16565b85613971565b9050613313565b816132ce576132b3848b6080015185613971565b60006132df868c6101800151610828565b905060006132f2868d6080015187613971565b90506000613301838688613971565b905061330d82826134d6565b93505050505b61333361332d89604001518561399b90919063ffffffff16565b826134d6565b965050505050509250925092565b6000806000613352846106ae6139ba565b600061336b60048651876133fc9092919063ffffffff16565b8060200190516108089190810190614c34565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133af83600061343f565b90506001600160e01b0319808216908316146133f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615667565b505050565b60608183111561341a5761341a613415600085856139de565b613a4d565b83518211156134335761343361341560018487516139de565b50819003910190815290565b600081600401835110156134605761346061341560038551856004016139de565b5001602001516001600160e01b03191690565b600081601401835110156134945761349461341560048551856014016139de565b5001601401516001600160a01b031690565b60006120a58383613a55565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134e557816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135dd576135dd613415600085856139de565b83518211156135f6576135f661341560018487516139de565b8282036040519080825280601f01601f191660200182016040528015613623576020820181803883390190505b5090506120a561363282613a7f565b8461363c87613a7f565b018351613a85565b606080606061366060048551866135c49092919063ffffffff16565b80602001905161088a9190810190614715565b60408051600180825281830190925260609182918291816020015b613696613c90565b81526020019060019003908161368e5750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136df575050845190915061370c90859060049063ffffffff6135c416565b80602001905161371f9190810190614b9c565b8560008151811061372c57fe5b602002602001018560008151811061374057fe5b602002602001018560008151811061375457fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137a99186915060049063ffffffff6135c416565b8060200190516137bc919081019061478f565b845185906000906137c957fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c1613d23565b6020810184905260a085015160808601516138dd918691613b2a565b815260a085015160c08601516138f4918691613b2a565b604082015260a085015160e086015161390e918691613b2a565b6060820152613923828463ffffffff613b5e16565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341560008686613b8b565b600061399383613987868563ffffffff613b5e16565b9063ffffffff613baa16565b949350505050565b6000828211156139b4576139b461341560028585613b8b565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b8484846040516024016139fd939291906154cf565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7657613a7661341560058551856020016139de565b50016020015190565b60200190565b6020811015613aaf576001816020036101000a0380198351168185511680821786525050506133f7565b82821415613abc576133f7565b82821115613af65760208103905080820181840181515b82851015613aee578451865260209586019590940193613ad3565b9052506133f7565b60208103905080820181840183515b81861215613b215782518252601f199283019290910190613b05565b85525050505050565b6000613b37848484613bd4565b15613b4a57613b4a613415858585613c3a565b61399383613987868563ffffffff613b5e16565b600082613b6d5750600061084a565b82820282848281613b7a57fe5b04146120a5576120a5613415600186865b606063e946c1bb60e01b8484846040516024016139fd93929190615460565b600081613bc057613bc061341560038585613b8b565b6000828481613bcb57fe5b04949350505050565b600082613be657613be6613415613c59565b811580613bf1575083155b15613bfe575060006120a5565b60008380613c0857fe5b8584099050613c1d858463ffffffff613b5e16565b613c2f826103e863ffffffff613b5e16565b101595945050505050565b606063339f3de260e01b8484846040516024016139fd9392919061573a565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615816565b805161084a81615816565b600082601f830112613d98578081fd5b8135613dab613da682615777565b615750565b818152915060208083019084810181840286018201871015613dcc57600080fd5b60005b84811015611dc7578135613de281615816565b84529282019290820190600101613dcf565b600082601f830112613e04578081fd5b8151613e12613da682615777565b8181529150602080830190840160005b83811015613e4f57613e3a8760208451890101614074565b83526020928301929190910190600101613e22565b5050505092915050565b600082601f830112613e69578081fd5b8135613e77613da682615777565b8181529150602080830190840160005b83811015613e4f57613e9f8760208435890101614026565b83526020928301929190910190600101613e87565b600082601f830112613ec4578081fd5b8151613ed2613da682615777565b8181529150602080830190840160005b83811015613e4f57613efa8760208451890101614209565b83526020928301929190910190600101613ee2565b600082601f830112613f1f578081fd5b8135613f2d613da682615777565b8181529150602080830190840160005b83811015613e4f57613f5587602084358901016140ba565b83526020928301929190910190600101613f3d565b600082601f830112613f7a578081fd5b8151613f88613da682615777565b818152915060208083019084810181840286018201871015613fa957600080fd5b60005b84811015611dc757815184529282019290820190600101613fac565b600082601f830112613fd8578081fd5b8135613fe6613da682615777565b81815291506020808301908481018184028601820187101561400757600080fd5b60005b84811015611dc75781358452928201929082019060010161400a565b600082601f830112614036578081fd5b8135614044613da682615797565b915080825283602082850101111561405b57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112614084578081fd5b8151614092613da682615797565b91508082528360208285010111156140a957600080fd5b611dcc8160208401602086016157bb565b60006101c08083850312156140cd578182fd5b6140d681615750565b9150506140e38383613d72565b81526140f28360208401613d72565b60208201526141048360408401613d72565b60408201526141168360608401613d72565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff8082111561417857600080fd5b61418486838701614026565b838501526101609250828501359150808211156141a057600080fd5b6141ac86838701614026565b838501526101809250828501359150808211156141c857600080fd5b6141d486838701614026565b838501526101a09250828501359150808211156141f057600080fd5b506141fd85828601614026565b82840152505092915050565b60006101c080838503121561421c578182fd5b61422581615750565b9150506142328383613d7d565b81526142418360208401613d7d565b60208201526142538360408401613d7d565b60408201526142658360608401613d7d565b60608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015167ffffffffffffffff808211156142c757600080fd5b6142d386838701614074565b838501526101609250828501519150808211156142ef57600080fd5b6142fb86838701614074565b8385015261018092508285015191508082111561431757600080fd5b61432386838701614074565b838501526101a092508285015191508082111561433f57600080fd5b506141fd85828601614074565b805160ff8116811461084a57600080fd5b60006020828403121561436e578081fd5b81356120a581615816565b6000806040838503121561438b578081fd5b825161439681615816565b60208401519092506143a781615816565b809150509250929050565b6000806000606084860312156143c6578081fd5b83516143d181615816565b60208501519093506143e281615816565b80925050604084015190509250925092565b60008060008060808587031215614409578182fd5b845161441481615816565b602086015190945067ffffffffffffffff80821115614431578384fd5b61443d88838901614074565b94506040870151915080821115614452578384fd5b61445e88838901614074565b93506060870151915080821115614473578283fd5b5061448087828801614074565b91505092959194509250565b6000806040838503121561449e578182fd5b82356144a981615816565b9150602083013567ffffffffffffffff8111156144c4578182fd5b6144d085828601613e59565b9150509250929050565b600080600080608085870312156144ef578182fd5b84356144fa81615816565b9350602085013567ffffffffffffffff80821115614516578384fd5b61452288838901613fc8565b94506040870135915080821115614537578384fd5b61454388838901613fc8565b93506060870135915080821115614558578283fd5b5061448087828801614026565b60008060408385031215614577578182fd5b823561458281615816565b9150602083013567ffffffffffffffff81111561459d578182fd5b6144d085828601614026565b600080604083850312156145bb578182fd5b82356145c681615816565b946020939093013593505050565b6000602082840312156145e5578081fd5b813567ffffffffffffffff8111156145fb578182fd5b61399384828501613d88565b600060208284031215614618578081fd5b815167ffffffffffffffff81111561462e578182fd5b61399384828501613eb4565b60008060006060848603121561464e578081fd5b833567ffffffffffffffff80821115614665578283fd5b61467187838801613f0f565b94506020860135915080821115614686578283fd5b61469287838801613d88565b935060408601359150808211156146a7578283fd5b506146b486828701613fc8565b9150509250925092565b600080604083850312156146d0578182fd5b823567ffffffffffffffff808211156146e7578384fd5b6146f386838701613f0f565b93506020850135915080821115614708578283fd5b506144d085828601613e59565b600080600060608486031215614729578081fd5b835167ffffffffffffffff80821115614740578283fd5b61474c87838801613eb4565b94506020860151915080821115614761578283fd5b61476d87838801613f6a565b93506040860151915080821115614782578283fd5b506146b486828701613df4565b6000806000606084860312156147a3578081fd5b835167ffffffffffffffff808211156147ba578283fd5b6147c687838801613eb4565b9450602086015193506040860151915080821115614782578283fd5b600080604083850312156147f4578182fd5b823567ffffffffffffffff8082111561480b578384fd5b6146f386838701613fc8565b60008060408385031215614829578182fd5b825167ffffffffffffffff80821115614840578384fd5b61484c86838701613f6a565b93506020850151915080821115614861578283fd5b506144d085828601613df4565b60006020828403121561487f578081fd5b815180151581146120a5578182fd5b600080600080608085870312156148a3578182fd5b8451935060208501516148b581615816565b604086015190935067ffffffffffffffff80821115614452578384fd5b600080604083850312156148e4578182fd5b505080516020909101519092909150565b60008060408385031215614907578182fd5b82519150602083015167ffffffffffffffff811115614924578182fd5b6144d085828601614074565b600080600060608486031215614944578081fd5b83519250602084015167ffffffffffffffff80821115614962578283fd5b61496e87838801614074565b93506040860151915080821115614983578283fd5b506146b486828701614074565b600080604083850312156149a2578182fd5b8251915060208301516143a78161582b565b600080604083850312156149c6578182fd5b82516001600160e01b031981168114614396578283fd5b6000602082840312156149ee578081fd5b813567ffffffffffffffff811115614a04578182fd5b61399384828501614026565b60006060828403128015614a22578182fd5b8015614a2c578182fd5b50614a376060615750565b8251614a428161582b565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a72578081fd5b815167ffffffffffffffff811115614a88578182fd5b61399384828501614209565b600080600060608486031215614aa8578081fd5b833567ffffffffffffffff811115614abe578182fd5b614aca868287016140ba565b9350506020840135614adb81615816565b929592945050506040919091013590565b60008060408385031215614afe578182fd5b823567ffffffffffffffff80821115614b15578384fd5b614b21868387016140ba565b93506020850135915080821115614b36578283fd5b506144d085828601614026565b60008060008060808587031215614b58578182fd5b845167ffffffffffffffff80821115614b6f578384fd5b614b7b88838901614209565b95506020870151915080821115614b90578384fd5b61443d88838901614209565b600080600060608486031215614bb0578081fd5b835167ffffffffffffffff80821115614bc7578283fd5b614bd387838801614209565b9450602086015193506040860151915080821115614983578283fd5b600060208284031215614c00578081fd5b5051919050565b60008060408385031215614c19578182fd5b8251614c248161582b565b6020939093015192949293505050565b600080600060608486031215614c48578081fd5b8351614c538161582b565b602085015160408601519194509250614c6b81615816565b809150509250925092565b60008060008060808587031215614c8b578182fd5b614c95868661434c565b9350602085015192506040850151614cac81615816565b606086015190925067ffffffffffffffff811115614cc8578182fd5b61448087828801614074565b600080600060608486031215614ce8578081fd5b614cf2858561434c565b925060208401519150604084015167ffffffffffffffff811115614d14578182fd5b6146b486828701614074565b600080600060608486031215614d34578081fd5b614d3e858561434c565b925060208401519150604084015190509250925092565b1515815260200190565b6000614d6b8383614e78565b505060600190565b6001600160a01b03169052565b6000815180845260208401935060208301825b82811015614dba5781516001600160a01b0316865260209586019590910190600101614d93565b5093949350505050565b600081518084526020840180819550602083028101915060208501845b84811015614e0f578284038852614df9848351614e4c565b6020988901989094509190910190600101614de1565b50919695505050505050565b6000815180845260208401935060208301825b82811015614dba578151865260209586019590910190600101614e2e565b60008151808452614e648160208601602086016157bb565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ea4848451614d73565b6020830151614eb66020860182614d73565b506040830151614ec96040860182614d73565b506060830151614edc6060860182614d73565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f3583870182614e4c565b91505061016091508184015185820383870152614f528282614e4c565b925050506101808084015185830382870152614f6e8382614e4c565b9150506101a091508184015185820383870152614f8b8282614e4c565b9695505050505050565b60008251614fa78184602087016157bb565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150256080830186614e1b565b82810360408401526150378186614e1b565b83810360608501526150498186614e4c565b98975050505050505050565b60006001600160a01b0386168252608060208301526150776080830186614e4c565b82810360408401526150378186614e4c565b6001600160a01b03929092168252602082015260400190565b6000608082526150b56080830187614dc4565b82810360208401526150c78187614d80565b83810360408501526150d98187614d80565b91505082810360608401526150ee8185614e1b565b979650505050505050565b602080825282518282018190526000918401906040840190835b8181101561513b5783516005811061512757fe5b835260209384019390920191600101615113565b509095945050505050565b6000606082016060835280865161515d8184615731565b9150602088019250835b8181101561518b5761517a838551614d5f565b602094909401939250600101615167565b5050838103602085015261519f8187614e1b565b91505082810360408401528084516151b78184615731565b9150602086019250835b818110156151e5576151d4838551614d55565b6020949094019392506001016151c1565b5090979650505050505050565b6000602082526120a56020830184614e1b565b6000604082526152186040830185614e1b565b828103602084015261522a8185614dc4565b95945050505050565b6000604082526152466040830185614e1b565b828103602084015261522a8185614e1b565b60008582526001600160a01b0385166020830152608060408301526152806080830185614e4c565b82810360608401526150ee8185614e4c565b918252602082015260400190565b6000838252604060208301526139936040830184614e4c565b6000848252606060208301526152d26060830185614e4c565b8281036040840152614f8b8185614e4c565b828152604081016152f48361580c565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261535660a0830186614e1b565b82810360608401526153688186614e1b565b838103608085015261537a8186614e4c565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153d56060830185614e1b565b8281036040840152614f8b8185614dc4565b6000602082526120a56020830184614e4c565b60006080825261540d6080830187614e4c565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b6000615443856157eb565b8482528360208301526060604083015261522a6060830184614e4c565b6060810161546d856157f8565b938152602081019290925260409091015290565b6060810161548e85615802565b93815260208101929092526001600160a01b031660409091015290565b604081016154b8846157f8565b9281526020015290565b6060810161546d85615802565b606081016008851061546d57fe5b60208101600583106154eb57fe5b91905290565b60006154fc8661580c565b8582528460208301526001600160a01b038416604083015260806060830152614f8b6080830184614e4c565b604081016154b8846157eb565b6000608082526155486080830187614e4c565b602083820381850152818751808452828401915082838202850101838a01865b8381101561559657601f19878403018552615584838351614e94565b94860194925090850190600101615568565b505086810360408801526155aa818a614e1b565b94505050505082810360608401526150ee8185614dc4565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156e38286614e78565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614e94565b60006040825261571f6040830185614e94565b828103602084015261522a8185614e4c565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561576f57600080fd5b604052919050565b600067ffffffffffffffff82111561578d578081fd5b5060209081020190565b600067ffffffffffffffff8211156157ad578081fd5b50601f01601f191660200190565b60005b838110156157d65781810151838201526020016157be565b838111156157e5576000848401525b50505050565b600281106157f557fe5b50565b600481106157f557fe5b600381106157f557fe5b600781106157f557fe5b6001600160a01b03811681146157f557600080fd5b60ff811681146157f557600080fdfea365627a7a723158200ea049525ebc74d73f3bf7858c601bd21168267b0dfb4abbdb7787cfd7233a2c6c6578706572696d656e74616cf564736f6c634300050c0040" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f366004614a03565b61069f565b6040516102829291906152ef565b60405180910390f35b61029e610299366004614a03565b6106fb565b60405161028293929190615392565b6102c06102bb366004614572565b6107a9565b60405161028292919061529d565b6102e16102dc366004614a03565b6107cb565b604051610282939291906154cd565b6103036102fe366004614572565b610828565b604051610282919061573d565b61032361031e366004614a03565b610850565b604051610282939291906152c4565b6102c0610340366004614a03565b610897565b610358610353366004614a03565b6108d9565b60405161028293929190615443565b61037a610375366004614a03565b61092c565b6040516102829493929190615263565b61039d610398366004614a03565b610976565b6040516102829291906154b6565b6103be6103b9366004614496565b6109cc565b60405161028291906151fd565b6103de6103d9366004614363565b610a4f565b60405161028291906153f2565b6103fe6103f9366004614a03565b610ad3565b60405161028293929190614ffa565b61042061041b366004614a03565b610b0d565b6040516102829493929190615540565b61044361043e366004614a03565b61164e565b60405161028292919061530c565b61046461045f366004614a03565b611686565b604051610282929190614fe0565b610303610480366004614572565b6116be565b610443610493366004614a03565b611dd3565b6104ab6104a6366004614a03565b611e63565b60405161028294939291906154fc565b6104ce6104c9366004614a03565b611ec4565b60405161028295949392919061532f565b6103be6104ed3660046145e4565b611f6f565b61050561050036600461464e565b611fe8565b6040516102829190615114565b6103de6105203660046145b8565b6120ac565b610538610533366004614a03565b612133565b6040516102829493929190615070565b6103de6105563660046144e6565b61216f565b61056e610569366004614a03565b6121fc565b604051610282939291906153bd565b61059061058b366004614a03565b6122a9565b6040516102829291906152ab565b6105b16105ac366004614a03565b6122e2565b604051610282929190615533565b6103be6105cd366004614496565b612330565b6103036105e0366004614572565b61239e565b6105f86105f3366004614ac0565b6129e1565b60405161028291906154e8565b6103de6106133660046147f9565b612f7e565b61062b6106263660046146d2565b612fb6565b60405161028293929190615161565b61064d610648366004614496565b6130ee565b60405161028292919061523e565b61066e610669366004614b1a565b613107565b604051610282939291906156e1565b61069061068b366004614a03565b613349565b6040516102829392919061548c565b6000806106b3836106ae613386565b6133aa565b60006106cc60048551866134049092919063ffffffff16565b8060200190516106df91908101906149b3565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61344716565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b60405180910390fd5b61078e84601063ffffffff61347b16565b91506107a184602463ffffffff6134ae16565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134ba565b60006107f560048651876134049092919063ffffffff16565b8060200190516108089190810190614d58565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134de565b925050505b92915050565b6000606080610861846106ae6134f4565b835161087790859060049063ffffffff61340416565b80602001905161088a9190810190614953565b9196909550909350915050565b6000806108a6836106ae613518565b82516108bc90849060049063ffffffff61340416565b8060200190516108cf91908101906148f2565b9094909350915050565b60008060606108ea846106ae61353c565b600061090360048651876134049092919063ffffffff16565b8060200190516109169190810190614d0a565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613560565b845161095490869060049063ffffffff61340416565b80602001905161096791908101906148ac565b92989197509550909350915050565b600080610985836106ae613584565b600061099e60048551866134049092919063ffffffff16565b8060200190516109b19190810190614c39565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fcc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a8565b8351610afa90859060049063ffffffff61340416565b80602001905161088a91908101906143ba565b60608080806000610b24868263ffffffff61344716565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061563c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615605565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135cc16565b80602001905161117f9190810190614619565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c8661364c565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c98565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135cc16565b8060200190516113059190810190614a8b565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c8661367b565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c86613775565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c98565b6114e8613c98565b60608061150260048b518c6135cc9092919063ffffffff16565b8060200190516115159190810190614b74565b604080516002808252606082019092529498509296509094509250816020015b61153d613c98565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e9565b825161167390849060049063ffffffff61340416565b8060200190516108cf91908101906149d8565b600080611695836106ae61380d565b82516116ab90849060049063ffffffff61340416565b8060200190516108cf9190810190614380565b6000806116d1838263ffffffff61344716565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347b16565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fcc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614fb0565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134ae16565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c090849060240161573d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614fb0565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347b16565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a859291906150a4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614fb0565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134ae16565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c3390869060009081908190602401615405565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614fb0565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61344716565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b611e5c83601063ffffffff61347b16565b9050915091565b60008060006060611e76856106ae613831565b6000611e8f60048751886134049092919063ffffffff16565b806020019051611ea29190810190614caa565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61344716565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e490859085906024016150a4565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae613855565b845161215c90869060049063ffffffff61340416565b80602001905161096791908101906143fd565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab90879087908790879060240161501e565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61344716565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906156aa565b835161228c90859060049063ffffffff6135cc16565b80602001905161229f9190810190614830565b9395909450915050565b600060606122b9836106ae613879565b82516122cf90849060049063ffffffff61340416565b8060200190516108cf9190810190614916565b6000806122f1836106ae61389d565b600061230a60048551866134049092919063ffffffff16565b80602001905161231d9190810190614c39565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61344716565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347b16565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fe0565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fe0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614fb0565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134ae16565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e90879060240161573d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614fb0565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347b16565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fe0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614fb0565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134ae16565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d2b565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614c20565b3a6138c1565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150bd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614fb0565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61344716565b9050612e9061353c565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134f4565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155ce565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615210565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d5a565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d5a565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b990613159908890600401615705565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a38565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb9089908990600401615718565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061488a565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393816565b156132ba576132b3846132ad848d6080015161395d90919063ffffffff16565b85613979565b905061331b565b60006132cb868c6101800151610828565b9050826132e8576132e1858c6080015186613979565b9150613319565b60006132f9868d6080015187613979565b90506000613308838688613979565b905061331482826134de565b935050505b505b61333b6133358960400151856139a390919063ffffffff16565b826134de565b965050505050509250925092565b600080600061335a846106ae6139c2565b600061337360048651876134049092919063ffffffff16565b8060200190516108089190810190614c67565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133b7836000613447565b90506001600160e01b0319808216908316146133ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615673565b505050565b6060818311156134225761342261341d600085856139e6565b613a55565b835182111561343b5761343b61341d60018487516139e6565b50819003910190815290565b600081600401835110156134685761346861341d60038551856004016139e6565b5001602001516001600160e01b03191690565b6000816014018351101561349c5761349c61341d60048551856014016139e6565b5001601401516001600160a01b031690565b60006120a58383613a5d565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134ed57816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135e5576135e561341d600085856139e6565b83518211156135fe576135fe61341d60018487516139e6565b8282036040519080825280601f01601f19166020018201604052801561362b576020820181803883390190505b5090506120a561363a82613a87565b8461364487613a87565b018351613a8d565b606080606061366860048551866135cc9092919063ffffffff16565b80602001905161088a919081019061472c565b60408051600180825281830190925260609182918291816020015b61369e613c98565b8152602001906001900390816136965750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136e7575050845190915061371490859060049063ffffffff6135cc16565b8060200190516137279190810190614bcd565b8560008151811061373457fe5b602002602001018560008151811061374857fe5b602002602001018560008151811061375c57fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137b19186915060049063ffffffff6135cc16565b8060200190516137c491908101906147a6565b845185906000906137d157fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c9613d2b565b6020810184905260a085015160808601516138e5918691613b32565b815260a085015160c08601516138fc918691613b32565b604082015260a085015160e0860151613916918691613b32565b606082015261392b828463ffffffff613b6616565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341d60008686613b93565b600061399b8361398f868563ffffffff613b6616565b9063ffffffff613bb216565b949350505050565b6000828211156139bc576139bc61341d60028585613b93565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b848484604051602401613a05939291906154da565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7e57613a7e61341d60058551856020016139e6565b50016020015190565b60200190565b6020811015613ab7576001816020036101000a0380198351168185511680821786525050506133ff565b82821415613ac4576133ff565b82821115613afe5760208103905080820181840181515b82851015613af6578451865260209586019590940193613adb565b9052506133ff565b60208103905080820181840183515b81861215613b295782518252601f199283019290910190613b0d565b85525050505050565b6000613b3f848484613bdc565b15613b5257613b5261341d858585613c42565b61399b8361398f868563ffffffff613b6616565b600082613b755750600061084a565b82820282848281613b8257fe5b04146120a5576120a561341d600186865b606063e946c1bb60e01b848484604051602401613a059392919061546b565b600081613bc857613bc861341d60038585613b93565b6000828481613bd357fe5b04949350505050565b600082613bee57613bee61341d613c61565b811580613bf9575083155b15613c06575060006120a5565b60008380613c1057fe5b8584099050613c25858463ffffffff613b6616565b613c37826103e863ffffffff613b6616565b101595945050505050565b606063339f3de260e01b848484604051602401613a0593929190615746565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615824565b805161084a81615824565b600082601f830112613da0578081fd5b8135613db3613dae82615783565b61575c565b818152915060208083019084810181840286018201871015613dd457600080fd5b60005b84811015611dc7578135613dea81615824565b84529282019290820190600101613dd7565b600082601f830112613e0c578081fd5b8151613e1a613dae82615783565b8181529150602080830190840160005b83811015613e5757613e42876020845189010161407c565b83526020928301929190910190600101613e2a565b5050505092915050565b600082601f830112613e71578081fd5b8135613e7f613dae82615783565b8181529150602080830190840160005b83811015613e5757613ea7876020843589010161402e565b83526020928301929190910190600101613e8f565b600082601f830112613ecc578081fd5b8151613eda613dae82615783565b8181529150602080830190840160005b83811015613e5757613f028760208451890101614211565b83526020928301929190910190600101613eea565b600082601f830112613f27578081fd5b8135613f35613dae82615783565b8181529150602080830190840160005b83811015613e5757613f5d87602084358901016140c3565b83526020928301929190910190600101613f45565b600082601f830112613f82578081fd5b8151613f90613dae82615783565b818152915060208083019084810181840286018201871015613fb157600080fd5b60005b84811015611dc757815184529282019290820190600101613fb4565b600082601f830112613fe0578081fd5b8135613fee613dae82615783565b81815291506020808301908481018184028601820187101561400f57600080fd5b60005b84811015611dc757813584529282019290820190600101614012565b600082601f83011261403e578081fd5b813561404c613dae826157a4565b915080825283602082850101111561406357600080fd5b8060208401602084013760009082016020015292915050565b600082601f83011261408d57600080fd5b815161409b613dae826157a4565b91508082528360208285010111156140b257600080fd5b611dcc8160208401602086016157c9565b60006101c08083850312156140d6578182fd5b6140df8161575c565b91505060006140ee8484613d7a565b82526140fd8460208501613d7a565b602083015261410f8460408501613d7a565b60408301526141218460608501613d7a565b60608301526080830135608083015260a083013560a083015260c083013560c083015260e083013560e08301526101008084013581840152506101208084013581840152506101408084013567ffffffffffffffff80821115614182578384fd5b61418e8783880161402e565b838601526101609250828601359150808211156141a9578384fd5b6141b58783880161402e565b838601526101809250828601359150808211156141d0578384fd5b6141dc8783880161402e565b838601526101a09250828601359150808211156141f7578384fd5b506142048682870161402e565b8285015250505092915050565b60006101c0808385031215614224578182fd5b61422d8161575c565b915050600061423c8484613d85565b825261424b8460208501613d85565b602083015261425d8460408501613d85565b604083015261426f8460608501613d85565b60608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015167ffffffffffffffff808211156142d0578384fd5b6142dc8783880161407c565b838601526101609250828601519150808211156142f7578384fd5b6143038783880161407c565b8386015261018092508286015191508082111561431e578384fd5b61432a8783880161407c565b838601526101a0925082860151915080821115614345578384fd5b506142048682870161407c565b805160ff8116811461084a57600080fd5b60006020828403121561437557600080fd5b81356120a581615824565b6000806040838503121561439357600080fd5b825161439e81615824565b60208401519092506143af81615824565b809150509250929050565b6000806000606084860312156143cf57600080fd5b83516143da81615824565b60208501519093506143eb81615824565b80925050604084015190509250925092565b60008060008060808587031215614412578182fd5b845161441d81615824565b602086015190945067ffffffffffffffff8082111561443a578384fd5b6144468883890161407c565b9450604087015191508082111561445b578384fd5b6144678883890161407c565b9350606087015191508082111561447d57600080fd5b5061448a8782880161407c565b91505092959194509250565b600080604083850312156144a957600080fd5b82356144b481615824565b9150602083013567ffffffffffffffff8111156144d057600080fd5b6144dc85828601613e61565b9150509250929050565b600080600080608085870312156144fb578182fd5b843561450681615824565b9350602085013567ffffffffffffffff80821115614522578384fd5b61452e88838901613fd0565b94506040870135915080821115614543578384fd5b61454f88838901613fd0565b9350606087013591508082111561456557600080fd5b5061448a8782880161402e565b6000806040838503121561458557600080fd5b823561459081615824565b9150602083013567ffffffffffffffff8111156145ac57600080fd5b6144dc8582860161402e565b600080604083850312156145cb57600080fd5b82356145d681615824565b946020939093013593505050565b6000602082840312156145f657600080fd5b813567ffffffffffffffff81111561460d57600080fd5b61399b84828501613d90565b60006020828403121561462b57600080fd5b815167ffffffffffffffff81111561464257600080fd5b61399b84828501613ebc565b600080600060608486031215614662578081fd5b833567ffffffffffffffff80821115614679578283fd5b61468587838801613f17565b9450602086013591508082111561469a578283fd5b6146a687838801613d90565b935060408601359150808211156146bb578283fd5b506146c886828701613fd0565b9150509250925092565b600080604083850312156146e557600080fd5b823567ffffffffffffffff808211156146fd57600080fd5b61470986838701613f17565b9350602085013591508082111561471f57600080fd5b506144dc85828601613e61565b600080600060608486031215614740578081fd5b835167ffffffffffffffff80821115614757578283fd5b61476387838801613ebc565b94506020860151915080821115614778578283fd5b61478487838801613f72565b93506040860151915080821115614799578283fd5b506146c886828701613dfc565b6000806000606084860312156147ba578081fd5b835167ffffffffffffffff808211156147d1578283fd5b6147dd87838801613ebc565b9450602086015193506040860151915080821115614799578283fd5b6000806040838503121561480c57600080fd5b823567ffffffffffffffff8082111561482457600080fd5b61470986838701613fd0565b6000806040838503121561484357600080fd5b825167ffffffffffffffff8082111561485b57600080fd5b61486786838701613f72565b9350602085015191508082111561487d57600080fd5b506144dc85828601613dfc565b60006020828403121561489c57600080fd5b815180151581146120a557600080fd5b600080600080608085870312156148c257600080fd5b8451935060208501516148d481615824565b604086015190935067ffffffffffffffff8082111561445b57600080fd5b6000806040838503121561490557600080fd5b505080516020909101519092909150565b6000806040838503121561492957600080fd5b82519150602083015167ffffffffffffffff81111561494757600080fd5b6144dc8582860161407c565b600080600060608486031215614967578081fd5b83519250602084015167ffffffffffffffff80821115614985578283fd5b6149918783880161407c565b935060408601519150808211156149a6578283fd5b506146c88682870161407c565b600080604083850312156149c657600080fd5b8251915060208301516143af81615839565b600080604083850312156149eb57600080fd5b82516001600160e01b03198116811461439e57600080fd5b600060208284031215614a1557600080fd5b813567ffffffffffffffff811115614a2c57600080fd5b61399b8482850161402e565b60006060828403128015614a4b57600080fd5b8015614a5657600080fd5b50614a61606061575c565b8251614a6c81615839565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a9d57600080fd5b815167ffffffffffffffff811115614ab457600080fd5b61399b84828501614211565b600080600060608486031215614ad557600080fd5b833567ffffffffffffffff811115614aec57600080fd5b614af8868287016140c3565b9350506020840135614b0981615824565b929592945050506040919091013590565b60008060408385031215614b2d57600080fd5b823567ffffffffffffffff80821115614b4557600080fd5b614b51868387016140c3565b93506020850135915080821115614b6757600080fd5b506144dc8582860161402e565b60008060008060808587031215614b89578182fd5b845167ffffffffffffffff80821115614ba0578384fd5b614bac88838901614211565b95506020870151915080821115614bc1578384fd5b61444688838901614211565b600080600060608486031215614be1578081fd5b835167ffffffffffffffff80821115614bf8578283fd5b614c0487838801614211565b94506020860151935060408601519150808211156149a6578283fd5b600060208284031215614c3257600080fd5b5051919050565b60008060408385031215614c4c57600080fd5b8251614c5781615839565b6020939093015192949293505050565b600080600060608486031215614c7c57600080fd5b8351614c8781615839565b602085015160408601519194509250614c9f81615824565b809150509250925092565b60008060008060808587031215614cc057600080fd5b614cca8686614352565b9350602085015192506040850151614ce181615824565b606086015190925067ffffffffffffffff811115614cfe57600080fd5b61448a8782880161407c565b600080600060608486031215614d1f57600080fd5b614d298585614352565b925060208401519150604084015167ffffffffffffffff811115614d4c57600080fd5b6146c88682870161407c565b600080600060608486031215614d6d57600080fd5b614d778585614352565b925060208401519150604084015190509250925092565b6001600160a01b03169052565b600081518084526020840193506020830160005b82811015614dd65781516001600160a01b0316865260209586019590910190600101614daf565b5093949350505050565b60008151808452602084019350836020820285016020850160005b84811015614e29578383038852614e13838351614e67565b6020988901989093509190910190600101614dfb565b50909695505050505050565b600081518084526020840193506020830160005b82811015614dd6578151865260209586019590910190600101614e49565b60008151808452614e7f8160208601602086016157c9565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ebf848451614d8e565b6020830151614ed16020860182614d8e565b506040830151614ee46040860182614d8e565b506060830151614ef76060860182614d8e565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f5083870182614e67565b91505061016091508184015185820383870152614f6d8282614e67565b925050506101808084015185830382870152614f898382614e67565b9150506101a091508184015185820383870152614fa68282614e67565b9695505050505050565b60008251614fc28184602087016157c9565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150406080830186614e35565b82810360408401526150528186614e35565b83810360608501526150648186614e67565b98975050505050505050565b60006001600160a01b0386168252608060208301526150926080830186614e67565b82810360408401526150528186614e67565b6001600160a01b03929092168252602082015260400190565b6000608082526150d06080830187614de0565b82810360208401526150e28187614d9b565b83810360408501526150f48187614d9b565b91505082810360608401526151098185614e35565b979650505050505050565b602080825282518282018190526000918401906040840190835b818110156151565783516005811061514257fe5b83526020938401939092019160010161512e565b509095945050505050565b606080825284519082018190526000906020906080840190828801845b828110156151a457615191848351614e93565b606093909301929084019060010161517e565b505050838103828501526151b88187614e35565b8481036040860152855180825290830191508286019060005b818110156151ef5782511515845292840192918401916001016151d1565b509198975050505050505050565b6000602082526120a56020830184614e35565b6000604082526152236040830185614e35565b82810360208401526152358185614de0565b95945050505050565b6000604082526152516040830185614e35565b82810360208401526152358185614e35565b60008582526001600160a01b03851660208301526080604083015261528b6080830185614e67565b82810360608401526151098185614e67565b918252602082015260400190565b60008382526040602083015261399b6040830184614e67565b6000848252606060208301526152dd6060830185614e67565b8281036040840152614fa68185614e67565b828152604081016152ff8361581a565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261536160a0830186614e35565b82810360608401526153738186614e35565b83810360808501526153858186614e67565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153e06060830185614e35565b8281036040840152614fa68185614de0565b6000602082526120a56020830184614e67565b6000608082526154186080830187614e67565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b600061544e856157f9565b848252836020830152606060408301526152356060830184614e67565b6060810161547885615806565b938152602081019290925260409091015290565b6060810161549985615810565b93815260208101929092526001600160a01b031660409091015290565b604081016154c384615806565b9281526020015290565b6060810161547885615810565b606081016008851061547857fe5b60208101600583106154f657fe5b91905290565b60006155078661581a565b8582528460208301526001600160a01b038416604083015260806060830152614fa66080830184614e67565b604081016154c3846157f9565b6000608082526155536080830187614e67565b602083820381850152818751808452828401915082838202850101838a0160005b838110156155a257601f19878403018552615590838351614eaf565b94860194925090850190600101615574565b505086810360408801526155b6818a614e35565b94505050505082810360608401526151098185614de0565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156ef8286614e93565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614eaf565b60006040825261572b6040830185614eaf565b82810360208401526152358185614e67565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561577b57600080fd5b604052919050565b600067ffffffffffffffff82111561579a57600080fd5b5060209081020190565b600067ffffffffffffffff8211156157bb57600080fd5b50601f01601f191660200190565b60005b838110156157e45781810151838201526020016157cc565b838111156157f3576000848401525b50505050565b6002811061580357fe5b50565b6004811061580357fe5b6003811061580357fe5b6007811061580357fe5b6001600160a01b038116811461580357600080fd5b60ff8116811461580357600080fdfea365627a7a723158203ec184ccc404ffb9769f18bab87aeb800141e5e5acee03a26f36bff1f78e8b546c6578706572696d656e74616cf564736f6c634300050b0040" + "object": "0x608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f3660046149dd565b61069f565b6040516102829291906152e4565b60405180910390f35b61029e6102993660046149dd565b6106fb565b60405161028293929190615387565b6102c06102bb366004614565565b6107a9565b604051610282929190615292565b6102e16102dc3660046149dd565b6107cb565b604051610282939291906154c2565b6103036102fe366004614565565b610828565b6040516102829190615731565b61032361031e3660046149dd565b610850565b604051610282939291906152b9565b6102c06103403660046149dd565b610897565b6103586103533660046149dd565b6108d9565b60405161028293929190615438565b61037a6103753660046149dd565b61092c565b6040516102829493929190615258565b61039d6103983660046149dd565b610976565b6040516102829291906154ab565b6103be6103b936600461448c565b6109cc565b60405161028291906151f2565b6103de6103d936600461435d565b610a4f565b60405161028291906153e7565b6103fe6103f93660046149dd565b610ad3565b60405161028293929190614fdf565b61042061041b3660046149dd565b610b0d565b6040516102829493929190615535565b61044361043e3660046149dd565b61164e565b604051610282929190615301565b61046461045f3660046149dd565b611686565b604051610282929190614fc5565b610303610480366004614565565b6116be565b6104436104933660046149dd565b611dd3565b6104ab6104a63660046149dd565b611e63565b60405161028294939291906154f1565b6104ce6104c93660046149dd565b611ec4565b604051610282959493929190615324565b6103be6104ed3660046145d4565b611f6f565b61050561050036600461463a565b611fe8565b60405161028291906150f9565b6103de6105203660046145a9565b6120ac565b6105386105333660046149dd565b612133565b6040516102829493929190615055565b6103de6105563660046144da565b61216f565b61056e6105693660046149dd565b6121fc565b604051610282939291906153b2565b61059061058b3660046149dd565b6122a9565b6040516102829291906152a0565b6105b16105ac3660046149dd565b6122e2565b604051610282929190615528565b6103be6105cd36600461448c565b612330565b6103036105e0366004614565565b61239e565b6105f86105f3366004614a94565b6129e1565b60405161028291906154dd565b6103de6106133660046147e2565b612f7e565b61062b6106263660046146be565b612fb6565b60405161028293929190615146565b61064d61064836600461448c565b6130ee565b604051610282929190615233565b61066e610669366004614aec565b613107565b604051610282939291906156d5565b61069061068b3660046149dd565b613341565b60405161028293929190615481565b6000806106b3836106ae61337e565b6133a2565b60006106cc60048551866133fc9092919063ffffffff16565b8060200190516106df9190810190614990565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61343f16565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b60405180910390fd5b61078e84601063ffffffff61347316565b91506107a184602463ffffffff6134a616565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134b2565b60006107f560048651876133fc9092919063ffffffff16565b8060200190516108089190810190614d20565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134d6565b925050505b92915050565b6000606080610861846106ae6134ec565b835161087790859060049063ffffffff6133fc16565b80602001905161088a9190810190614930565b9196909550909350915050565b6000806108a6836106ae613510565b82516108bc90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148d2565b9094909350915050565b60008060606108ea846106ae613534565b600061090360048651876133fc9092919063ffffffff16565b8060200190516109169190810190614cd4565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613558565b845161095490869060049063ffffffff6133fc16565b806020019051610967919081019061488e565b92989197509550909350915050565b600080610985836106ae61357c565b600061099e60048551866133fc9092919063ffffffff16565b8060200190516109b19190810190614c07565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fb1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a0565b8351610afa90859060049063ffffffff6133fc16565b80602001905161088a91908101906143b2565b60608080806000610b24868263ffffffff61343f16565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615630565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155f9565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135c416565b80602001905161117f9190810190614607565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c86613644565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c90565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135c416565b8060200190516113059190810190614a61565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c86613673565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c8661376d565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c90565b6114e8613c90565b60608061150260048b518c6135c49092919063ffffffff16565b8060200190516115159190810190614b43565b604080516002808252606082019092529498509296509094509250816020015b61153d613c90565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e1565b825161167390849060049063ffffffff6133fc16565b8060200190516108cf91908101906149b4565b600080611695836106ae613805565b82516116ab90849060049063ffffffff6133fc16565b8060200190516108cf9190810190614379565b6000806116d1838263ffffffff61343f16565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347316565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fb1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614f95565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134a616565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c0908490602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614f95565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347316565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a85929190615089565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614f95565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134a616565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c33908690600090819081906024016153fa565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614f95565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61343f16565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b611e5c83601063ffffffff61347316565b9050915091565b60008060006060611e76856106ae613829565b6000611e8f60048751886133fc9092919063ffffffff16565b806020019051611ea29190810190614c76565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61343f16565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e49085908590602401615089565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae61384d565b845161215c90869060049063ffffffff6133fc16565b80602001905161096791908101906143f4565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab908790879087908790602401615003565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61343f16565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b835161228c90859060049063ffffffff6135c416565b80602001905161229f9190810190614817565b9395909450915050565b600060606122b9836106ae613871565b82516122cf90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148f5565b6000806122f1836106ae613895565b600061230a60048551866133fc9092919063ffffffff16565b80602001905161231d9190810190614c07565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61343f16565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347316565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fc5565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614f95565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134a616565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e908790602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614f95565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347316565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614f95565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134a616565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d23565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614bef565b3a6138b9565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150a2565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614f95565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61343f16565b9050612e90613534565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134ec565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155c2565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615205565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d52565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d52565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b9906131599088906004016156f9565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a10565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb908990899060040161570c565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061486e565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393016565b156132ba576132b3846132ad848d6080015161395590919063ffffffff16565b85613971565b9050613313565b816132ce576132b3848b6080015185613971565b60006132df868c6101800151610828565b905060006132f2868d6080015187613971565b90506000613301838688613971565b905061330d82826134d6565b93505050505b61333361332d89604001518561399b90919063ffffffff16565b826134d6565b965050505050509250925092565b6000806000613352846106ae6139ba565b600061336b60048651876133fc9092919063ffffffff16565b8060200190516108089190810190614c34565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133af83600061343f565b90506001600160e01b0319808216908316146133f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615667565b505050565b60608183111561341a5761341a613415600085856139de565b613a4d565b83518211156134335761343361341560018487516139de565b50819003910190815290565b600081600401835110156134605761346061341560038551856004016139de565b5001602001516001600160e01b03191690565b600081601401835110156134945761349461341560048551856014016139de565b5001601401516001600160a01b031690565b60006120a58383613a55565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134e557816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135dd576135dd613415600085856139de565b83518211156135f6576135f661341560018487516139de565b8282036040519080825280601f01601f191660200182016040528015613623576020820181803883390190505b5090506120a561363282613a7f565b8461363c87613a7f565b018351613a85565b606080606061366060048551866135c49092919063ffffffff16565b80602001905161088a9190810190614715565b60408051600180825281830190925260609182918291816020015b613696613c90565b81526020019060019003908161368e5750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136df575050845190915061370c90859060049063ffffffff6135c416565b80602001905161371f9190810190614b9c565b8560008151811061372c57fe5b602002602001018560008151811061374057fe5b602002602001018560008151811061375457fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137a99186915060049063ffffffff6135c416565b8060200190516137bc919081019061478f565b845185906000906137c957fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c1613d23565b6020810184905260a085015160808601516138dd918691613b2a565b815260a085015160c08601516138f4918691613b2a565b604082015260a085015160e086015161390e918691613b2a565b6060820152613923828463ffffffff613b5e16565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341560008686613b8b565b600061399383613987868563ffffffff613b5e16565b9063ffffffff613baa16565b949350505050565b6000828211156139b4576139b461341560028585613b8b565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b8484846040516024016139fd939291906154cf565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7657613a7661341560058551856020016139de565b50016020015190565b60200190565b6020811015613aaf576001816020036101000a0380198351168185511680821786525050506133f7565b82821415613abc576133f7565b82821115613af65760208103905080820181840181515b82851015613aee578451865260209586019590940193613ad3565b9052506133f7565b60208103905080820181840183515b81861215613b215782518252601f199283019290910190613b05565b85525050505050565b6000613b37848484613bd4565b15613b4a57613b4a613415858585613c3a565b61399383613987868563ffffffff613b5e16565b600082613b6d5750600061084a565b82820282848281613b7a57fe5b04146120a5576120a5613415600186865b606063e946c1bb60e01b8484846040516024016139fd93929190615460565b600081613bc057613bc061341560038585613b8b565b6000828481613bcb57fe5b04949350505050565b600082613be657613be6613415613c59565b811580613bf1575083155b15613bfe575060006120a5565b60008380613c0857fe5b8584099050613c1d858463ffffffff613b5e16565b613c2f826103e863ffffffff613b5e16565b101595945050505050565b606063339f3de260e01b8484846040516024016139fd9392919061573a565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615816565b805161084a81615816565b600082601f830112613d98578081fd5b8135613dab613da682615777565b615750565b818152915060208083019084810181840286018201871015613dcc57600080fd5b60005b84811015611dc7578135613de281615816565b84529282019290820190600101613dcf565b600082601f830112613e04578081fd5b8151613e12613da682615777565b8181529150602080830190840160005b83811015613e4f57613e3a8760208451890101614074565b83526020928301929190910190600101613e22565b5050505092915050565b600082601f830112613e69578081fd5b8135613e77613da682615777565b8181529150602080830190840160005b83811015613e4f57613e9f8760208435890101614026565b83526020928301929190910190600101613e87565b600082601f830112613ec4578081fd5b8151613ed2613da682615777565b8181529150602080830190840160005b83811015613e4f57613efa8760208451890101614209565b83526020928301929190910190600101613ee2565b600082601f830112613f1f578081fd5b8135613f2d613da682615777565b8181529150602080830190840160005b83811015613e4f57613f5587602084358901016140ba565b83526020928301929190910190600101613f3d565b600082601f830112613f7a578081fd5b8151613f88613da682615777565b818152915060208083019084810181840286018201871015613fa957600080fd5b60005b84811015611dc757815184529282019290820190600101613fac565b600082601f830112613fd8578081fd5b8135613fe6613da682615777565b81815291506020808301908481018184028601820187101561400757600080fd5b60005b84811015611dc75781358452928201929082019060010161400a565b600082601f830112614036578081fd5b8135614044613da682615797565b915080825283602082850101111561405b57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112614084578081fd5b8151614092613da682615797565b91508082528360208285010111156140a957600080fd5b611dcc8160208401602086016157bb565b60006101c08083850312156140cd578182fd5b6140d681615750565b9150506140e38383613d72565b81526140f28360208401613d72565b60208201526141048360408401613d72565b60408201526141168360608401613d72565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff8082111561417857600080fd5b61418486838701614026565b838501526101609250828501359150808211156141a057600080fd5b6141ac86838701614026565b838501526101809250828501359150808211156141c857600080fd5b6141d486838701614026565b838501526101a09250828501359150808211156141f057600080fd5b506141fd85828601614026565b82840152505092915050565b60006101c080838503121561421c578182fd5b61422581615750565b9150506142328383613d7d565b81526142418360208401613d7d565b60208201526142538360408401613d7d565b60408201526142658360608401613d7d565b60608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015167ffffffffffffffff808211156142c757600080fd5b6142d386838701614074565b838501526101609250828501519150808211156142ef57600080fd5b6142fb86838701614074565b8385015261018092508285015191508082111561431757600080fd5b61432386838701614074565b838501526101a092508285015191508082111561433f57600080fd5b506141fd85828601614074565b805160ff8116811461084a57600080fd5b60006020828403121561436e578081fd5b81356120a581615816565b6000806040838503121561438b578081fd5b825161439681615816565b60208401519092506143a781615816565b809150509250929050565b6000806000606084860312156143c6578081fd5b83516143d181615816565b60208501519093506143e281615816565b80925050604084015190509250925092565b60008060008060808587031215614409578182fd5b845161441481615816565b602086015190945067ffffffffffffffff80821115614431578384fd5b61443d88838901614074565b94506040870151915080821115614452578384fd5b61445e88838901614074565b93506060870151915080821115614473578283fd5b5061448087828801614074565b91505092959194509250565b6000806040838503121561449e578182fd5b82356144a981615816565b9150602083013567ffffffffffffffff8111156144c4578182fd5b6144d085828601613e59565b9150509250929050565b600080600080608085870312156144ef578182fd5b84356144fa81615816565b9350602085013567ffffffffffffffff80821115614516578384fd5b61452288838901613fc8565b94506040870135915080821115614537578384fd5b61454388838901613fc8565b93506060870135915080821115614558578283fd5b5061448087828801614026565b60008060408385031215614577578182fd5b823561458281615816565b9150602083013567ffffffffffffffff81111561459d578182fd5b6144d085828601614026565b600080604083850312156145bb578182fd5b82356145c681615816565b946020939093013593505050565b6000602082840312156145e5578081fd5b813567ffffffffffffffff8111156145fb578182fd5b61399384828501613d88565b600060208284031215614618578081fd5b815167ffffffffffffffff81111561462e578182fd5b61399384828501613eb4565b60008060006060848603121561464e578081fd5b833567ffffffffffffffff80821115614665578283fd5b61467187838801613f0f565b94506020860135915080821115614686578283fd5b61469287838801613d88565b935060408601359150808211156146a7578283fd5b506146b486828701613fc8565b9150509250925092565b600080604083850312156146d0578182fd5b823567ffffffffffffffff808211156146e7578384fd5b6146f386838701613f0f565b93506020850135915080821115614708578283fd5b506144d085828601613e59565b600080600060608486031215614729578081fd5b835167ffffffffffffffff80821115614740578283fd5b61474c87838801613eb4565b94506020860151915080821115614761578283fd5b61476d87838801613f6a565b93506040860151915080821115614782578283fd5b506146b486828701613df4565b6000806000606084860312156147a3578081fd5b835167ffffffffffffffff808211156147ba578283fd5b6147c687838801613eb4565b9450602086015193506040860151915080821115614782578283fd5b600080604083850312156147f4578182fd5b823567ffffffffffffffff8082111561480b578384fd5b6146f386838701613fc8565b60008060408385031215614829578182fd5b825167ffffffffffffffff80821115614840578384fd5b61484c86838701613f6a565b93506020850151915080821115614861578283fd5b506144d085828601613df4565b60006020828403121561487f578081fd5b815180151581146120a5578182fd5b600080600080608085870312156148a3578182fd5b8451935060208501516148b581615816565b604086015190935067ffffffffffffffff80821115614452578384fd5b600080604083850312156148e4578182fd5b505080516020909101519092909150565b60008060408385031215614907578182fd5b82519150602083015167ffffffffffffffff811115614924578182fd5b6144d085828601614074565b600080600060608486031215614944578081fd5b83519250602084015167ffffffffffffffff80821115614962578283fd5b61496e87838801614074565b93506040860151915080821115614983578283fd5b506146b486828701614074565b600080604083850312156149a2578182fd5b8251915060208301516143a78161582b565b600080604083850312156149c6578182fd5b82516001600160e01b031981168114614396578283fd5b6000602082840312156149ee578081fd5b813567ffffffffffffffff811115614a04578182fd5b61399384828501614026565b60006060828403128015614a22578182fd5b8015614a2c578182fd5b50614a376060615750565b8251614a428161582b565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a72578081fd5b815167ffffffffffffffff811115614a88578182fd5b61399384828501614209565b600080600060608486031215614aa8578081fd5b833567ffffffffffffffff811115614abe578182fd5b614aca868287016140ba565b9350506020840135614adb81615816565b929592945050506040919091013590565b60008060408385031215614afe578182fd5b823567ffffffffffffffff80821115614b15578384fd5b614b21868387016140ba565b93506020850135915080821115614b36578283fd5b506144d085828601614026565b60008060008060808587031215614b58578182fd5b845167ffffffffffffffff80821115614b6f578384fd5b614b7b88838901614209565b95506020870151915080821115614b90578384fd5b61443d88838901614209565b600080600060608486031215614bb0578081fd5b835167ffffffffffffffff80821115614bc7578283fd5b614bd387838801614209565b9450602086015193506040860151915080821115614983578283fd5b600060208284031215614c00578081fd5b5051919050565b60008060408385031215614c19578182fd5b8251614c248161582b565b6020939093015192949293505050565b600080600060608486031215614c48578081fd5b8351614c538161582b565b602085015160408601519194509250614c6b81615816565b809150509250925092565b60008060008060808587031215614c8b578182fd5b614c95868661434c565b9350602085015192506040850151614cac81615816565b606086015190925067ffffffffffffffff811115614cc8578182fd5b61448087828801614074565b600080600060608486031215614ce8578081fd5b614cf2858561434c565b925060208401519150604084015167ffffffffffffffff811115614d14578182fd5b6146b486828701614074565b600080600060608486031215614d34578081fd5b614d3e858561434c565b925060208401519150604084015190509250925092565b1515815260200190565b6000614d6b8383614e78565b505060600190565b6001600160a01b03169052565b6000815180845260208401935060208301825b82811015614dba5781516001600160a01b0316865260209586019590910190600101614d93565b5093949350505050565b600081518084526020840180819550602083028101915060208501845b84811015614e0f578284038852614df9848351614e4c565b6020988901989094509190910190600101614de1565b50919695505050505050565b6000815180845260208401935060208301825b82811015614dba578151865260209586019590910190600101614e2e565b60008151808452614e648160208601602086016157bb565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ea4848451614d73565b6020830151614eb66020860182614d73565b506040830151614ec96040860182614d73565b506060830151614edc6060860182614d73565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f3583870182614e4c565b91505061016091508184015185820383870152614f528282614e4c565b925050506101808084015185830382870152614f6e8382614e4c565b9150506101a091508184015185820383870152614f8b8282614e4c565b9695505050505050565b60008251614fa78184602087016157bb565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150256080830186614e1b565b82810360408401526150378186614e1b565b83810360608501526150498186614e4c565b98975050505050505050565b60006001600160a01b0386168252608060208301526150776080830186614e4c565b82810360408401526150378186614e4c565b6001600160a01b03929092168252602082015260400190565b6000608082526150b56080830187614dc4565b82810360208401526150c78187614d80565b83810360408501526150d98187614d80565b91505082810360608401526150ee8185614e1b565b979650505050505050565b602080825282518282018190526000918401906040840190835b8181101561513b5783516005811061512757fe5b835260209384019390920191600101615113565b509095945050505050565b6000606082016060835280865161515d8184615731565b9150602088019250835b8181101561518b5761517a838551614d5f565b602094909401939250600101615167565b5050838103602085015261519f8187614e1b565b91505082810360408401528084516151b78184615731565b9150602086019250835b818110156151e5576151d4838551614d55565b6020949094019392506001016151c1565b5090979650505050505050565b6000602082526120a56020830184614e1b565b6000604082526152186040830185614e1b565b828103602084015261522a8185614dc4565b95945050505050565b6000604082526152466040830185614e1b565b828103602084015261522a8185614e1b565b60008582526001600160a01b0385166020830152608060408301526152806080830185614e4c565b82810360608401526150ee8185614e4c565b918252602082015260400190565b6000838252604060208301526139936040830184614e4c565b6000848252606060208301526152d26060830185614e4c565b8281036040840152614f8b8185614e4c565b828152604081016152f48361580c565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261535660a0830186614e1b565b82810360608401526153688186614e1b565b838103608085015261537a8186614e4c565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153d56060830185614e1b565b8281036040840152614f8b8185614dc4565b6000602082526120a56020830184614e4c565b60006080825261540d6080830187614e4c565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b6000615443856157eb565b8482528360208301526060604083015261522a6060830184614e4c565b6060810161546d856157f8565b938152602081019290925260409091015290565b6060810161548e85615802565b93815260208101929092526001600160a01b031660409091015290565b604081016154b8846157f8565b9281526020015290565b6060810161546d85615802565b606081016008851061546d57fe5b60208101600583106154eb57fe5b91905290565b60006154fc8661580c565b8582528460208301526001600160a01b038416604083015260806060830152614f8b6080830184614e4c565b604081016154b8846157eb565b6000608082526155486080830187614e4c565b602083820381850152818751808452828401915082838202850101838a01865b8381101561559657601f19878403018552615584838351614e94565b94860194925090850190600101615568565b505086810360408801526155aa818a614e1b565b94505050505082810360608401526150ee8185614dc4565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156e38286614e78565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614e94565b60006040825261571f6040830185614e94565b828103602084015261522a8185614e4c565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561576f57600080fd5b604052919050565b600067ffffffffffffffff82111561578d578081fd5b5060209081020190565b600067ffffffffffffffff8211156157ad578081fd5b50601f01601f191660200190565b60005b838110156157d65781810151838201526020016157be565b838111156157e5576000848401525b50505050565b600281106157f557fe5b50565b600481106157f557fe5b600381106157f557fe5b600781106157f557fe5b6001600160a01b03811681146157f557600080fd5b60ff811681146157f557600080fdfea365627a7a723158200ea049525ebc74d73f3bf7858c601bd21168267b0dfb4abbdb7787cfd7233a2c6c6578706572696d656e74616cf564736f6c634300050c0040" } } }, "compiler": { "name": "solc", - "version": "soljson-v0.5.11+commit.c082d0b4.js", + "version": "soljson-v0.5.12+commit.7709ece9.js", "settings": { "optimizer": { "enabled": true, diff --git a/packages/contract-artifacts/artifacts/DummyERC20Token.json b/packages/contract-artifacts/artifacts/DummyERC20Token.json index 249fb389ee..e300bb9c7c 100644 --- a/packages/contract-artifacts/artifacts/DummyERC20Token.json +++ b/packages/contract-artifacts/artifacts/DummyERC20Token.json @@ -4,30 +4,52 @@ "compilerOutput": { "abi": [ { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "inputs": [ + { "internalType": "string", "name": "_name", "type": "string" }, + { "internalType": "string", "name": "_symbol", "type": "string" }, + { "internalType": "uint256", "name": "_decimals", "type": "uint256" }, + { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" } + ], "payable": false, - "stateMutability": "view", - "type": "function" + "stateMutability": "nonpayable", + "type": "constructor" }, { - "constant": false, + "anonymous": false, "inputs": [ - { "internalType": "address", "name": "_spender", "type": "address" }, - { "internalType": "uint256", "name": "_value", "type": "uint256" } + { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, + { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], - "name": "approve", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, + { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_MINT_AMOUNT", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { "constant": true, - "inputs": [], - "name": "totalSupply", + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "address", "name": "_spender", "type": "address" } + ], + "name": "allowance", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", @@ -36,25 +58,15 @@ { "constant": false, "inputs": [ - { "internalType": "address", "name": "_from", "type": "address" }, - { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], - "name": "transferFrom", + "name": "approve", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": true, "inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }], @@ -67,17 +79,8 @@ { "constant": true, "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "name": "decimals", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" @@ -92,25 +95,19 @@ "type": "function" }, { - "constant": false, - "inputs": [ - { "internalType": "address", "name": "_to", "type": "address" }, - { "internalType": "uint256", "name": "_value", "type": "uint256" } - ], - "name": "transfer", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "constant": true, + "inputs": [], + "name": "name", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { "constant": true, - "inputs": [ - { "internalType": "address", "name": "_owner", "type": "address" }, - { "internalType": "address", "name": "_spender", "type": "address" } - ], - "name": "allowance", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" @@ -128,53 +125,56 @@ "type": "function" }, { - "constant": false, - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], - "name": "MAX_MINT_AMOUNT", + "name": "totalSupply", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { + "constant": false, "inputs": [ - { "internalType": "string", "name": "_name", "type": "string" }, - { "internalType": "string", "name": "_symbol", "type": "string" }, - { "internalType": "uint256", "name": "_decimals", "type": "uint256" }, - { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" } + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" } ], + "name": "transfer", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", - "type": "constructor" + "type": "function" }, { - "anonymous": false, + "constant": false, "inputs": [ - { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_value", "type": "uint256" } ], - "name": "Transfer", - "type": "event" + "name": "transferFrom", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" }, { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } - ], - "name": "Approval", - "type": "event" + "constant": false, + "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" } ], "devdoc": { @@ -232,16 +232,16 @@ }, "evm": { "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040516200114438038062001144833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060409081526020828101519290910151600080546001600160a01b0319163317905586519294509250620001d39160049187019062000209565b508251620001e990600590602086019062000209565b506006919091553360009081526001602052604090205550620002ae9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024c57805160ff19168380011785556200027c565b828001600101855582156200027c579182015b828111156200027c5782518255916020019190600101906200025f565b506200028a9291506200028e565b5090565b620002ab91905b808211156200028a576000815560010162000295565b90565b610e8680620002be6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146102e2578063e30443bc1461031d578063f2fde38b14610356578063fa9b701814610389576100ea565b806395d89b4114610282578063a0712d681461028a578063a9059cbb146102a9576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce5671461021657806370a082311461021e5780638da5cb5b14610251576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f7610391565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561043d565b604080519115158252519081900360200190f35b6101c16104b0565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104b6565b6101c1610772565b6101c16004803603602081101561023457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610778565b6102596107a0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f76107bc565b6102a7600480360360208110156102a057600080fd5b5035610835565b005b6101a5600480360360408110156102bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108bb565b6101c1600480360360408110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a4a565b6102a76004803603604081101561033357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a82565b6102a76004803603602081101561036c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b18565b6101c1610b95565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600260209081526040808320338452825280832054938352600190915281205490919083111561056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b828110156105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040902054838101101561066857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107025773ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b60065481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b69021e19e0c9bab24000008111156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f56414c55455f544f4f5f4c415247450000000000000000000000000000000000604482015290519081900360640190fd5b6108b83382610ba3565b50565b3360009081526001602052604081205482111561093957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205482810110156109cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610a8a610c5c565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205480821015610ad557610acd600354610ac88385610ca5565b610ca5565b600355610aee565b610aea600354610ae58484610ca5565b610cc4565b6003555b5073ffffffffffffffffffffffffffffffffffffffff909116600090815260016020526040902055565b610b20610c5c565b73ffffffffffffffffffffffffffffffffffffffff8116610b5057610b4b610b46610ce7565b610d1e565b6108b8565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b69021e19e0c9bab240000081565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610bd4908290610cc4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354610c079082610cc4565b60035560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ca357600054610ca390610b4690339073ffffffffffffffffffffffffffffffffffffffff16610d26565b565b600082821115610cbe57610cbe610b4660028585610db2565b50900390565b600082820183811015610ce057610ce0610b4660008686610db2565b9392505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad10000000000000000000000000000000000000000000000000000000017905292915050565b606063e946c1bb60e01b84848460405160240180846003811115610dd257fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050939250505056fea265627a7a723158209e2af1cebd7a94c7a0a791b3bafa6124389a824f3513d2b1bd461284e57e60d864736f6c634300050b0032" + "object": "0x60806040523480156200001157600080fd5b506040516200114438038062001144833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060409081526020828101519290910151600080546001600160a01b0319163317905586519294509250620001d39160049187019062000209565b508251620001e990600590602086019062000209565b506006919091553360009081526001602052604090205550620002ae9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024c57805160ff19168380011785556200027c565b828001600101855582156200027c579182015b828111156200027c5782518255916020019190600101906200025f565b506200028a9291506200028e565b5090565b620002ab91905b808211156200028a576000815560010162000295565b90565b610e8680620002be6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146102e2578063e30443bc1461031d578063f2fde38b14610356578063fa9b701814610389576100ea565b806395d89b4114610282578063a0712d681461028a578063a9059cbb146102a9576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce5671461021657806370a082311461021e5780638da5cb5b14610251576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f7610391565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561043d565b604080519115158252519081900360200190f35b6101c16104b0565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104b6565b6101c1610772565b6101c16004803603602081101561023457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610778565b6102596107a0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f76107bc565b6102a7600480360360208110156102a057600080fd5b5035610835565b005b6101a5600480360360408110156102bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108bb565b6101c1600480360360408110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a4a565b6102a76004803603604081101561033357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a82565b6102a76004803603602081101561036c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b18565b6101c1610b95565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600260209081526040808320338452825280832054938352600190915281205490919083111561056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b828110156105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040902054838101101561066857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107025773ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b60065481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b69021e19e0c9bab24000008111156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f56414c55455f544f4f5f4c415247450000000000000000000000000000000000604482015290519081900360640190fd5b6108b83382610ba3565b50565b3360009081526001602052604081205482111561093957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205482810110156109cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610a8a610c5c565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205480821015610ad557610acd600354610ac88385610ca5565b610ca5565b600355610aee565b610aea600354610ae58484610ca5565b610cc4565b6003555b5073ffffffffffffffffffffffffffffffffffffffff909116600090815260016020526040902055565b610b20610c5c565b73ffffffffffffffffffffffffffffffffffffffff8116610b5057610b4b610b46610ce7565b610d1e565b6108b8565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b69021e19e0c9bab240000081565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610bd4908290610cc4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354610c079082610cc4565b60035560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ca357600054610ca390610b4690339073ffffffffffffffffffffffffffffffffffffffff16610d26565b565b600082821115610cbe57610cbe610b4660028585610db2565b50900390565b600082820183811015610ce057610ce0610b4660008686610db2565b9392505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad10000000000000000000000000000000000000000000000000000000017905292915050565b606063e946c1bb60e01b84848460405160240180846003811115610dd257fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050939250505056fea265627a7a7231582089c03e503c77db7069bea8a94ec1c47ee5201d8bdb53857e70a882a1130e1ac364736f6c634300050c0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146102e2578063e30443bc1461031d578063f2fde38b14610356578063fa9b701814610389576100ea565b806395d89b4114610282578063a0712d681461028a578063a9059cbb146102a9576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce5671461021657806370a082311461021e5780638da5cb5b14610251576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f7610391565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561043d565b604080519115158252519081900360200190f35b6101c16104b0565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104b6565b6101c1610772565b6101c16004803603602081101561023457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610778565b6102596107a0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f76107bc565b6102a7600480360360208110156102a057600080fd5b5035610835565b005b6101a5600480360360408110156102bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108bb565b6101c1600480360360408110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a4a565b6102a76004803603604081101561033357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a82565b6102a76004803603602081101561036c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b18565b6101c1610b95565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600260209081526040808320338452825280832054938352600190915281205490919083111561056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b828110156105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040902054838101101561066857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107025773ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b60065481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b69021e19e0c9bab24000008111156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f56414c55455f544f4f5f4c415247450000000000000000000000000000000000604482015290519081900360640190fd5b6108b83382610ba3565b50565b3360009081526001602052604081205482111561093957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205482810110156109cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610a8a610c5c565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205480821015610ad557610acd600354610ac88385610ca5565b610ca5565b600355610aee565b610aea600354610ae58484610ca5565b610cc4565b6003555b5073ffffffffffffffffffffffffffffffffffffffff909116600090815260016020526040902055565b610b20610c5c565b73ffffffffffffffffffffffffffffffffffffffff8116610b5057610b4b610b46610ce7565b610d1e565b6108b8565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b69021e19e0c9bab240000081565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610bd4908290610cc4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354610c079082610cc4565b60035560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ca357600054610ca390610b4690339073ffffffffffffffffffffffffffffffffffffffff16610d26565b565b600082821115610cbe57610cbe610b4660028585610db2565b50900390565b600082820183811015610ce057610ce0610b4660008686610db2565b9392505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad10000000000000000000000000000000000000000000000000000000017905292915050565b606063e946c1bb60e01b84848460405160240180846003811115610dd257fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050939250505056fea265627a7a723158209e2af1cebd7a94c7a0a791b3bafa6124389a824f3513d2b1bd461284e57e60d864736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146102e2578063e30443bc1461031d578063f2fde38b14610356578063fa9b701814610389576100ea565b806395d89b4114610282578063a0712d681461028a578063a9059cbb146102a9576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce5671461021657806370a082311461021e5780638da5cb5b14610251576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f7610391565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561043d565b604080519115158252519081900360200190f35b6101c16104b0565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104b6565b6101c1610772565b6101c16004803603602081101561023457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610778565b6102596107a0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f76107bc565b6102a7600480360360208110156102a057600080fd5b5035610835565b005b6101a5600480360360408110156102bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108bb565b6101c1600480360360408110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a4a565b6102a76004803603604081101561033357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a82565b6102a76004803603602081101561036c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b18565b6101c1610b95565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600260209081526040808320338452825280832054938352600190915281205490919083111561056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b828110156105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040902054838101101561066857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107025773ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b60065481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b69021e19e0c9bab24000008111156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f56414c55455f544f4f5f4c415247450000000000000000000000000000000000604482015290519081900360640190fd5b6108b83382610ba3565b50565b3360009081526001602052604081205482111561093957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205482810110156109cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610a8a610c5c565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205480821015610ad557610acd600354610ac88385610ca5565b610ca5565b600355610aee565b610aea600354610ae58484610ca5565b610cc4565b6003555b5073ffffffffffffffffffffffffffffffffffffffff909116600090815260016020526040902055565b610b20610c5c565b73ffffffffffffffffffffffffffffffffffffffff8116610b5057610b4b610b46610ce7565b610d1e565b6108b8565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b69021e19e0c9bab240000081565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610bd4908290610cc4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354610c079082610cc4565b60035560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ca357600054610ca390610b4690339073ffffffffffffffffffffffffffffffffffffffff16610d26565b565b600082821115610cbe57610cbe610b4660028585610db2565b50900390565b600082820183811015610ce057610ce0610b4660008686610db2565b9392505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad10000000000000000000000000000000000000000000000000000000017905292915050565b606063e946c1bb60e01b84848460405160240180846003811115610dd257fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050939250505056fea265627a7a7231582089c03e503c77db7069bea8a94ec1c47ee5201d8bdb53857e70a882a1130e1ac364736f6c634300050c0032" } } }, "compiler": { "name": "solc", - "version": "soljson-v0.5.11+commit.c082d0b4.js", + "version": "soljson-v0.5.12+commit.7709ece9.js", "settings": { "optimizer": { "enabled": true, diff --git a/packages/contract-artifacts/artifacts/DummyERC721Token.json b/packages/contract-artifacts/artifacts/DummyERC721Token.json index e73738eedc..5a8766ff30 100644 --- a/packages/contract-artifacts/artifacts/DummyERC721Token.json +++ b/packages/contract-artifacts/artifacts/DummyERC721Token.json @@ -4,22 +4,43 @@ "compilerOutput": { "abi": [ { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "inputs": [ + { "internalType": "string", "name": "_name", "type": "string" }, + { "internalType": "string", "name": "_symbol", "type": "string" } + ], "payable": false, - "stateMutability": "view", - "type": "function" + "stateMutability": "nonpayable", + "type": "constructor" }, { - "constant": true, - "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], - "name": "getApproved", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", - "type": "function" + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "_approved", "type": "address" }, + { "indexed": true, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "_operator", "type": "address" }, + { "indexed": false, "internalType": "bool", "name": "_approved", "type": "bool" } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, + { "indexed": true, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "Transfer", + "type": "event" }, { "constant": false, @@ -33,39 +54,55 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": true, + "inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }], + "name": "balanceOf", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": false, "inputs": [ - { "internalType": "address", "name": "_from", "type": "address" }, - { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "transferFrom", + "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "constant": false, + "constant": true, + "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], + "name": "getApproved", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, "inputs": [ - { "internalType": "address", "name": "_to", "type": "address" }, - { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "address", "name": "_operator", "type": "address" } ], - "name": "mint", - "outputs": [], + "name": "isApprovedForAll", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ - { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "safeTransferFrom", + "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -73,18 +110,9 @@ }, { "constant": true, - "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], - "name": "ownerOf", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "inputs": [], + "name": "name", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], "payable": false, "stateMutability": "view", "type": "function" @@ -100,9 +128,9 @@ }, { "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], + "name": "ownerOf", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" @@ -110,10 +138,11 @@ { "constant": false, "inputs": [ - { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "burn", + "name": "safeTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -122,10 +151,12 @@ { "constant": false, "inputs": [ - { "internalType": "address", "name": "_operator", "type": "address" }, - { "internalType": "bool", "name": "_approved", "type": "bool" } + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, + { "internalType": "bytes", "name": "_data", "type": "bytes" } ], - "name": "setApprovalForAll", + "name": "safeTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -134,12 +165,10 @@ { "constant": false, "inputs": [ - { "internalType": "address", "name": "_from", "type": "address" }, - { "internalType": "address", "name": "_to", "type": "address" }, - { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, - { "internalType": "bytes", "name": "_data", "type": "bytes" } + { "internalType": "address", "name": "_operator", "type": "address" }, + { "internalType": "bool", "name": "_approved", "type": "bool" } ], - "name": "safeTransferFrom", + "name": "setApprovalForAll", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -147,63 +176,34 @@ }, { "constant": true, - "inputs": [ - { "internalType": "address", "name": "_owner", "type": "address" }, - { "internalType": "address", "name": "_operator", "type": "address" } - ], - "name": "isApprovedForAll", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "inputs": [], + "name": "symbol", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", + "inputs": [ + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "transferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ - { "internalType": "string", "name": "_name", "type": "string" }, - { "internalType": "string", "name": "_symbol", "type": "string" } - ], + "constant": false, + "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], + "name": "transferOwnership", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_approved", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_operator", "type": "address" }, - { "indexed": false, "internalType": "bool", "name": "_approved", "type": "bool" } - ], - "name": "ApprovalForAll", - "type": "event" + "type": "function" } ], "devdoc": { @@ -284,16 +284,16 @@ }, "evm": { "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040516200196938038062001969833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040525050600080546001600160a01b03191633179055508151620001c6906005906020850190620001e5565b508051620001dc906006906020840190620001e5565b5050506200028a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022857805160ff191683800117855562000258565b8280016001018555821562000258579182015b82811115620002585782518255916020019190600101906200023b565b50620002669291506200026a565b5090565b6200028791905b8082111562000266576000815560010162000271565b90565b6116cf806200029a6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a72315820fa4c6b314e8344396012dd715342303e1518c8802f952ab51b3ddc0d95011b3964736f6c634300050b0032" + "object": "0x60806040523480156200001157600080fd5b506040516200196938038062001969833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040525050600080546001600160a01b03191633179055508151620001c6906005906020850190620001e5565b508051620001dc906006906020840190620001e5565b5050506200028a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022857805160ff191683800117855562000258565b8280016001018555821562000258579182015b82811115620002585782518255916020019190600101906200023b565b50620002669291506200026a565b5090565b6200028791905b8082111562000266576000815560010162000271565b90565b6116cf806200029a6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158207bb3c4b1d40aa051fbb8e4f8230bb310013e75ca9fa97c528018b4c4aba3b92564736f6c634300050c0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a72315820fa4c6b314e8344396012dd715342303e1518c8802f952ab51b3ddc0d95011b3964736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158207bb3c4b1d40aa051fbb8e4f8230bb310013e75ca9fa97c528018b4c4aba3b92564736f6c634300050c0032" } } }, "compiler": { "name": "solc", - "version": "soljson-v0.5.11+commit.c082d0b4.js", + "version": "soljson-v0.5.12+commit.7709ece9.js", "settings": { "optimizer": { "enabled": true, diff --git a/packages/contract-artifacts/artifacts/ERC1155Proxy.json b/packages/contract-artifacts/artifacts/ERC1155Proxy.json index 35cd361e6f..547aa6e086 100644 --- a/packages/contract-artifacts/artifacts/ERC1155Proxy.json +++ b/packages/contract-artifacts/artifacts/ERC1155Proxy.json @@ -3,6 +3,24 @@ "contractName": "ERC1155Proxy", "compilerOutput": { "abi": [ + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "caller", "type": "address" } + ], + "name": "AuthorizedAddressAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "caller", "type": "address" } + ], + "name": "AuthorizedAddressRemoved", + "type": "event" + }, { "constant": false, "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], @@ -22,12 +40,30 @@ "type": "function" }, { - "constant": false, - "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], - "name": "removeAuthorizedAddress", - "outputs": [], + "constant": true, + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "authorized", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getAuthorizedAddresses", + "outputs": [{ "internalType": "address[]", "name": "", "type": "address[]" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getProxyId", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }], + "payable": false, + "stateMutability": "pure", "type": "function" }, { @@ -39,6 +75,15 @@ "stateMutability": "view", "type": "function" }, + { + "constant": false, + "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], + "name": "removeAuthorizedAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "constant": false, "inputs": [ @@ -65,33 +110,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "getProxyId", - "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "authorized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getAuthorizedAddresses", - "outputs": [{ "internalType": "address[]", "name": "", "type": "address[]" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": false, "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], @@ -100,24 +118,6 @@ "payable": false, "stateMutability": "nonpayable", "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "caller", "type": "address" } - ], - "name": "AuthorizedAddressAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "caller", "type": "address" } - ], - "name": "AuthorizedAddressRemoved", - "type": "event" } ], "devdoc": { @@ -158,16 +158,16 @@ }, "evm": { "bytecode": { - "object": "0x6080604052600080546001600160a01b031916331790556114b3806100256000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a85e59e411610076578063b91816111161005b578063b918161114610285578063d39de6e9146102cc578063f2fde38b14610324576100be565b8063a85e59e4146101b2578063ae25532e14610248576100be565b806370712939116100a7578063707129391461013e5780638da5cb5b146101715780639ad2674414610179576100be565b806342f1181e146100c3578063494503d4146100f8575b600080fd5b6100f6600480360360208110156100d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610357565b005b6101156004803603602081101561010e57600080fd5b5035610543565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f66004803603602081101561015457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610577565b61011561086a565b6100f66004803603604081101561018f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610886565b6100f6600480360360808110156101c857600080fd5b8101906020810181356401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c37565b610250611138565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6102b86004803603602081101561029b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611159565b604080519115158252519081900360200190f35b6102d461116e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b6100f66004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111dd565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561047257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061055057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610823578173ffffffffffffffffffffffffffffffffffffffff166002828154811061070b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561081b57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061076357fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061079657fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906108159082611407565b50610823565b6001016106dd565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461090c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610a1057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610a3457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610b3d57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610b7057fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610bef9082611407565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b3360009081526001602052604090205460ff16610cb557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53454e4445525f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b60006060806060610d0b60048a8a90508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6112c3169050565b8060200190516080811015610d1f57600080fd5b815160208301805160405192949293830192919084640100000000821115610d4657600080fd5b908301906020820185811115610d5b57600080fd5b8251866020820283011164010000000082111715610d7857600080fd5b82525081516020918201928201910280838360005b83811015610da5578181015183820152602001610d8d565b5050505090500160405260200180516040519392919084640100000000821115610dce57600080fd5b908301906020820185811115610de357600080fd5b8251866020820283011164010000000082111715610e0057600080fd5b82525081516020918201928201910280838360005b83811015610e2d578181015183820152602001610e15565b5050505090500160405260200180516040519392919084640100000000821115610e5657600080fd5b908301906020820185811115610e6b57600080fd5b8251640100000000811182820188101715610e8557600080fd5b82525081516020918201929091019080838360005b83811015610eb2578181015183820152602001610e9a565b50505050905090810190601f168015610edf5780820380516001836020036101000a031916815260200191505b506040525050509350935093509350600082519050606081604051908082528060200260200182016040528015610f20578160200160208202803883390190505b50905060005b828114610f6957610f4a858281518110610f3c57fe5b602002602001015189611306565b828281518110610f5657fe5b6020908102919091010152600101610f26565b508573ffffffffffffffffffffffffffffffffffffffff16632eb2c2d68a8a8885886040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561104657818101518382015260200161102e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561108557818101518382015260200161106d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156110c15781810151838201526020016110a9565b50505050905090810190601f1680156110ee5780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050505050505050505050565b6000604051808061144f603091396030019050604051809103902090505b90565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156111d357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111a8575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156112c057600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6060818311156112e1576112e16112dc60008585611340565b6113df565b83518211156112fa576112fa6112dc6001848751611340565b50819003910190815290565b6000826113155750600061133a565b8282028284828161132257fe5b0414611337576113376112dc600186866113e7565b90505b92915050565b6060632800659560e01b8484846040516024018084600781111561136057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561136057fe5b81548183558181111561142b5760008381526020902061142b918101908301611430565b505050565b61115691905b8082111561144a5760008155600101611436565b509056fe4552433131353541737365747328616464726573732c75696e743235365b5d2c75696e743235365b5d2c627974657329a265627a7a72315820a50ffa29fef904f0cef78bdd2adcc60c0524b74efa75f663e70092d60203c26464736f6c634300050b0032" + "object": "0x6080604052600080546001600160a01b031916331790556114b3806100256000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a85e59e411610076578063b91816111161005b578063b918161114610285578063d39de6e9146102cc578063f2fde38b14610324576100be565b8063a85e59e4146101b2578063ae25532e14610248576100be565b806370712939116100a7578063707129391461013e5780638da5cb5b146101715780639ad2674414610179576100be565b806342f1181e146100c3578063494503d4146100f8575b600080fd5b6100f6600480360360208110156100d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610357565b005b6101156004803603602081101561010e57600080fd5b5035610543565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f66004803603602081101561015457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610577565b61011561086a565b6100f66004803603604081101561018f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610886565b6100f6600480360360808110156101c857600080fd5b8101906020810181356401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c37565b610250611138565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6102b86004803603602081101561029b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611159565b604080519115158252519081900360200190f35b6102d461116e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b6100f66004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111dd565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561047257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061055057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610823578173ffffffffffffffffffffffffffffffffffffffff166002828154811061070b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561081b57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061076357fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061079657fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906108159082611407565b50610823565b6001016106dd565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461090c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610a1057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610a3457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610b3d57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610b7057fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610bef9082611407565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b3360009081526001602052604090205460ff16610cb557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53454e4445525f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b60006060806060610d0b60048a8a90508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6112c3169050565b8060200190516080811015610d1f57600080fd5b815160208301805160405192949293830192919084640100000000821115610d4657600080fd5b908301906020820185811115610d5b57600080fd5b8251866020820283011164010000000082111715610d7857600080fd5b82525081516020918201928201910280838360005b83811015610da5578181015183820152602001610d8d565b5050505090500160405260200180516040519392919084640100000000821115610dce57600080fd5b908301906020820185811115610de357600080fd5b8251866020820283011164010000000082111715610e0057600080fd5b82525081516020918201928201910280838360005b83811015610e2d578181015183820152602001610e15565b5050505090500160405260200180516040519392919084640100000000821115610e5657600080fd5b908301906020820185811115610e6b57600080fd5b8251640100000000811182820188101715610e8557600080fd5b82525081516020918201929091019080838360005b83811015610eb2578181015183820152602001610e9a565b50505050905090810190601f168015610edf5780820380516001836020036101000a031916815260200191505b506040525050509350935093509350600082519050606081604051908082528060200260200182016040528015610f20578160200160208202803883390190505b50905060005b828114610f6957610f4a858281518110610f3c57fe5b602002602001015189611306565b828281518110610f5657fe5b6020908102919091010152600101610f26565b508573ffffffffffffffffffffffffffffffffffffffff16632eb2c2d68a8a8885886040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561104657818101518382015260200161102e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561108557818101518382015260200161106d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156110c15781810151838201526020016110a9565b50505050905090810190601f1680156110ee5780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050505050505050505050565b6000604051808061144f603091396030019050604051809103902090505b90565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156111d357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111a8575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156112c057600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6060818311156112e1576112e16112dc60008585611340565b6113df565b83518211156112fa576112fa6112dc6001848751611340565b50819003910190815290565b6000826113155750600061133a565b8282028284828161132257fe5b0414611337576113376112dc600186866113e7565b90505b92915050565b6060632800659560e01b8484846040516024018084600781111561136057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561136057fe5b81548183558181111561142b5760008381526020902061142b918101908301611430565b505050565b61115691905b8082111561144a5760008155600101611436565b509056fe4552433131353541737365747328616464726573732c75696e743235365b5d2c75696e743235365b5d2c627974657329a265627a7a72315820be5e6597d38133fd52aac17250498790f106d5d4d0e4ab30d0e854a2db1e2ffe64736f6c634300050c0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a85e59e411610076578063b91816111161005b578063b918161114610285578063d39de6e9146102cc578063f2fde38b14610324576100be565b8063a85e59e4146101b2578063ae25532e14610248576100be565b806370712939116100a7578063707129391461013e5780638da5cb5b146101715780639ad2674414610179576100be565b806342f1181e146100c3578063494503d4146100f8575b600080fd5b6100f6600480360360208110156100d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610357565b005b6101156004803603602081101561010e57600080fd5b5035610543565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f66004803603602081101561015457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610577565b61011561086a565b6100f66004803603604081101561018f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610886565b6100f6600480360360808110156101c857600080fd5b8101906020810181356401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c37565b610250611138565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6102b86004803603602081101561029b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611159565b604080519115158252519081900360200190f35b6102d461116e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b6100f66004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111dd565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561047257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061055057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610823578173ffffffffffffffffffffffffffffffffffffffff166002828154811061070b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561081b57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061076357fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061079657fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906108159082611407565b50610823565b6001016106dd565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461090c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610a1057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610a3457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610b3d57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610b7057fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610bef9082611407565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b3360009081526001602052604090205460ff16610cb557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53454e4445525f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b60006060806060610d0b60048a8a90508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6112c3169050565b8060200190516080811015610d1f57600080fd5b815160208301805160405192949293830192919084640100000000821115610d4657600080fd5b908301906020820185811115610d5b57600080fd5b8251866020820283011164010000000082111715610d7857600080fd5b82525081516020918201928201910280838360005b83811015610da5578181015183820152602001610d8d565b5050505090500160405260200180516040519392919084640100000000821115610dce57600080fd5b908301906020820185811115610de357600080fd5b8251866020820283011164010000000082111715610e0057600080fd5b82525081516020918201928201910280838360005b83811015610e2d578181015183820152602001610e15565b5050505090500160405260200180516040519392919084640100000000821115610e5657600080fd5b908301906020820185811115610e6b57600080fd5b8251640100000000811182820188101715610e8557600080fd5b82525081516020918201929091019080838360005b83811015610eb2578181015183820152602001610e9a565b50505050905090810190601f168015610edf5780820380516001836020036101000a031916815260200191505b506040525050509350935093509350600082519050606081604051908082528060200260200182016040528015610f20578160200160208202803883390190505b50905060005b828114610f6957610f4a858281518110610f3c57fe5b602002602001015189611306565b828281518110610f5657fe5b6020908102919091010152600101610f26565b508573ffffffffffffffffffffffffffffffffffffffff16632eb2c2d68a8a8885886040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561104657818101518382015260200161102e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561108557818101518382015260200161106d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156110c15781810151838201526020016110a9565b50505050905090810190601f1680156110ee5780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050505050505050505050565b6000604051808061144f603091396030019050604051809103902090505b90565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156111d357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111a8575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156112c057600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6060818311156112e1576112e16112dc60008585611340565b6113df565b83518211156112fa576112fa6112dc6001848751611340565b50819003910190815290565b6000826113155750600061133a565b8282028284828161132257fe5b0414611337576113376112dc600186866113e7565b90505b92915050565b6060632800659560e01b8484846040516024018084600781111561136057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561136057fe5b81548183558181111561142b5760008381526020902061142b918101908301611430565b505050565b61115691905b8082111561144a5760008155600101611436565b509056fe4552433131353541737365747328616464726573732c75696e743235365b5d2c75696e743235365b5d2c627974657329a265627a7a72315820a50ffa29fef904f0cef78bdd2adcc60c0524b74efa75f663e70092d60203c26464736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a85e59e411610076578063b91816111161005b578063b918161114610285578063d39de6e9146102cc578063f2fde38b14610324576100be565b8063a85e59e4146101b2578063ae25532e14610248576100be565b806370712939116100a7578063707129391461013e5780638da5cb5b146101715780639ad2674414610179576100be565b806342f1181e146100c3578063494503d4146100f8575b600080fd5b6100f6600480360360208110156100d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610357565b005b6101156004803603602081101561010e57600080fd5b5035610543565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f66004803603602081101561015457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610577565b61011561086a565b6100f66004803603604081101561018f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610886565b6100f6600480360360808110156101c857600080fd5b8101906020810181356401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c37565b610250611138565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6102b86004803603602081101561029b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611159565b604080519115158252519081900360200190f35b6102d461116e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b6100f66004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111dd565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561047257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061055057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610823578173ffffffffffffffffffffffffffffffffffffffff166002828154811061070b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561081b57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061076357fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061079657fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906108159082611407565b50610823565b6001016106dd565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461090c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610a1057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610a3457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610b3d57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610b7057fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610bef9082611407565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b3360009081526001602052604090205460ff16610cb557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53454e4445525f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b60006060806060610d0b60048a8a90508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6112c3169050565b8060200190516080811015610d1f57600080fd5b815160208301805160405192949293830192919084640100000000821115610d4657600080fd5b908301906020820185811115610d5b57600080fd5b8251866020820283011164010000000082111715610d7857600080fd5b82525081516020918201928201910280838360005b83811015610da5578181015183820152602001610d8d565b5050505090500160405260200180516040519392919084640100000000821115610dce57600080fd5b908301906020820185811115610de357600080fd5b8251866020820283011164010000000082111715610e0057600080fd5b82525081516020918201928201910280838360005b83811015610e2d578181015183820152602001610e15565b5050505090500160405260200180516040519392919084640100000000821115610e5657600080fd5b908301906020820185811115610e6b57600080fd5b8251640100000000811182820188101715610e8557600080fd5b82525081516020918201929091019080838360005b83811015610eb2578181015183820152602001610e9a565b50505050905090810190601f168015610edf5780820380516001836020036101000a031916815260200191505b506040525050509350935093509350600082519050606081604051908082528060200260200182016040528015610f20578160200160208202803883390190505b50905060005b828114610f6957610f4a858281518110610f3c57fe5b602002602001015189611306565b828281518110610f5657fe5b6020908102919091010152600101610f26565b508573ffffffffffffffffffffffffffffffffffffffff16632eb2c2d68a8a8885886040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561104657818101518382015260200161102e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561108557818101518382015260200161106d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156110c15781810151838201526020016110a9565b50505050905090810190601f1680156110ee5780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050505050505050505050565b6000604051808061144f603091396030019050604051809103902090505b90565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156111d357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111a8575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156112c057600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6060818311156112e1576112e16112dc60008585611340565b6113df565b83518211156112fa576112fa6112dc6001848751611340565b50819003910190815290565b6000826113155750600061133a565b8282028284828161132257fe5b0414611337576113376112dc600186866113e7565b90505b92915050565b6060632800659560e01b8484846040516024018084600781111561136057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561136057fe5b81548183558181111561142b5760008381526020902061142b918101908301611430565b505050565b61115691905b8082111561144a5760008155600101611436565b509056fe4552433131353541737365747328616464726573732c75696e743235365b5d2c75696e743235365b5d2c627974657329a265627a7a72315820be5e6597d38133fd52aac17250498790f106d5d4d0e4ab30d0e854a2db1e2ffe64736f6c634300050c0032" } } }, "compiler": { "name": "solc", - "version": "soljson-v0.5.11+commit.c082d0b4.js", + "version": "soljson-v0.5.12+commit.7709ece9.js", "settings": { "optimizer": { "enabled": true, diff --git a/packages/contract-artifacts/artifacts/ERC20Proxy.json b/packages/contract-artifacts/artifacts/ERC20Proxy.json index 28cf76c0b9..100abe8493 100644 --- a/packages/contract-artifacts/artifacts/ERC20Proxy.json +++ b/packages/contract-artifacts/artifacts/ERC20Proxy.json @@ -136,10 +136,10 @@ }, "evm": { "bytecode": { - "object": "0x6080604052600080546001600160a01b03191633179055610f42806100256000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b918161114610374578063d39de6e9146103bb578063f2fde38b14610413576100a3565b80639ad26744146102fe578063ae25532e14610337576100a3565b806342f1181e14610248578063494503d41461027d57806370712939146102c35780638da5cb5b146102f6575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e40000000000000000000000000000000000000000000000000000000081141561024257604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50602860043501357f23b872dd0000000000000000000000000000000000000000000000000000000060005260606024600437602060006064600080855af1600080511160203d14163d15178116905080156101cf57005b50507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b61027b6004803603602081101561025e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610446565b005b61029a6004803603602081101561029357600080fd5b5035610632565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61027b600480360360208110156102d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610666565b61029a610959565b61027b6004803603604081101561031457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610975565b61033f610d26565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6103a76004803603602081101561038a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d5c565b604080519115158252519081900360200190f35b6103c3610d71565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ff5781810151838201526020016103e7565b505050509050019250505060405180910390f35b61027b6004803603602081101561042957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610de0565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061063f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610912578173ffffffffffffffffffffffffffffffffffffffff16600282815481106107fa57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561090a57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061085257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061088557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906109049082610ec6565b50610912565b6001016107cc565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610aff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b2357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610bb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610c2c57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610c5f57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610cde9082610ec6565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4552433230546f6b656e28616464726573732900000000000000000000000000815290519081900360130190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dab575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610ec357600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610eea57600083815260209020610eea918101908301610eef565b505050565b610d5991905b80821115610f095760008155600101610ef5565b509056fea265627a7a72315820f951809fbc2b5a12acf7c2c906794555f492b8b4f259d3899cc80123d285f78064736f6c634300050b0032" + "object": "0x6080604052600080546001600160a01b03191633179055610f42806100256000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b918161114610374578063d39de6e9146103bb578063f2fde38b14610413576100a3565b80639ad26744146102fe578063ae25532e14610337576100a3565b806342f1181e14610248578063494503d41461027d57806370712939146102c35780638da5cb5b146102f6575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e40000000000000000000000000000000000000000000000000000000081141561024257604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50602860043501357f23b872dd0000000000000000000000000000000000000000000000000000000060005260606024600437602060006064600080855af1600080511160203d14163d15178116905080156101cf57005b50507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b61027b6004803603602081101561025e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610446565b005b61029a6004803603602081101561029357600080fd5b5035610632565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61027b600480360360208110156102d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610666565b61029a610959565b61027b6004803603604081101561031457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610975565b61033f610d26565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6103a76004803603602081101561038a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d5c565b604080519115158252519081900360200190f35b6103c3610d71565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ff5781810151838201526020016103e7565b505050509050019250505060405180910390f35b61027b6004803603602081101561042957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610de0565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061063f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610912578173ffffffffffffffffffffffffffffffffffffffff16600282815481106107fa57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561090a57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061085257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061088557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906109049082610ec6565b50610912565b6001016107cc565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610aff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b2357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610bb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610c2c57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610c5f57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610cde9082610ec6565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4552433230546f6b656e28616464726573732900000000000000000000000000815290519081900360130190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dab575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610ec357600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610eea57600083815260209020610eea918101908301610eef565b505050565b610d5991905b80821115610f095760008155600101610ef5565b509056fea265627a7a72315820cb3312567959522bd12ea03b9812cab2bace85fe5f172b3ae8014b3eacc85fa864736f6c634300050b0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b918161114610374578063d39de6e9146103bb578063f2fde38b14610413576100a3565b80639ad26744146102fe578063ae25532e14610337576100a3565b806342f1181e14610248578063494503d41461027d57806370712939146102c35780638da5cb5b146102f6575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e40000000000000000000000000000000000000000000000000000000081141561024257604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50602860043501357f23b872dd0000000000000000000000000000000000000000000000000000000060005260606024600437602060006064600080855af1600080511160203d14163d15178116905080156101cf57005b50507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b61027b6004803603602081101561025e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610446565b005b61029a6004803603602081101561029357600080fd5b5035610632565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61027b600480360360208110156102d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610666565b61029a610959565b61027b6004803603604081101561031457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610975565b61033f610d26565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6103a76004803603602081101561038a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d5c565b604080519115158252519081900360200190f35b6103c3610d71565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ff5781810151838201526020016103e7565b505050509050019250505060405180910390f35b61027b6004803603602081101561042957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610de0565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061063f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610912578173ffffffffffffffffffffffffffffffffffffffff16600282815481106107fa57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561090a57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061085257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061088557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906109049082610ec6565b50610912565b6001016107cc565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610aff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b2357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610bb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610c2c57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610c5f57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610cde9082610ec6565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4552433230546f6b656e28616464726573732900000000000000000000000000815290519081900360130190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dab575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610ec357600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610eea57600083815260209020610eea918101908301610eef565b505050565b610d5991905b80821115610f095760008155600101610ef5565b509056fea265627a7a72315820f951809fbc2b5a12acf7c2c906794555f492b8b4f259d3899cc80123d285f78064736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b918161114610374578063d39de6e9146103bb578063f2fde38b14610413576100a3565b80639ad26744146102fe578063ae25532e14610337576100a3565b806342f1181e14610248578063494503d41461027d57806370712939146102c35780638da5cb5b146102f6575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e40000000000000000000000000000000000000000000000000000000081141561024257604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50602860043501357f23b872dd0000000000000000000000000000000000000000000000000000000060005260606024600437602060006064600080855af1600080511160203d14163d15178116905080156101cf57005b50507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b61027b6004803603602081101561025e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610446565b005b61029a6004803603602081101561029357600080fd5b5035610632565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61027b600480360360208110156102d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610666565b61029a610959565b61027b6004803603604081101561031457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610975565b61033f610d26565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6103a76004803603602081101561038a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d5c565b604080519115158252519081900360200190f35b6103c3610d71565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ff5781810151838201526020016103e7565b505050509050019250505060405180910390f35b61027b6004803603602081101561042957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610de0565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061063f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610912578173ffffffffffffffffffffffffffffffffffffffff16600282815481106107fa57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561090a57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061085257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061088557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906109049082610ec6565b50610912565b6001016107cc565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610aff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b2357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610bb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610c2c57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610c5f57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610cde9082610ec6565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4552433230546f6b656e28616464726573732900000000000000000000000000815290519081900360130190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dab575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610ec357600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610eea57600083815260209020610eea918101908301610eef565b505050565b610d5991905b80821115610f095760008155600101610ef5565b509056fea265627a7a72315820cb3312567959522bd12ea03b9812cab2bace85fe5f172b3ae8014b3eacc85fa864736f6c634300050b0032" } } }, diff --git a/packages/contract-artifacts/artifacts/ERC20Token.json b/packages/contract-artifacts/artifacts/ERC20Token.json index a8c65aaa6a..40003b47ed 100644 --- a/packages/contract-artifacts/artifacts/ERC20Token.json +++ b/packages/contract-artifacts/artifacts/ERC20Token.json @@ -135,10 +135,10 @@ }, "evm": { "bytecode": { - "object": "0x608060405234801561001057600080fd5b506106bf806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a7231582053ae9d35bb9db1df3465a7d6eaf05e122dc38e959647dd6bcfb63cdace0be3e464736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b506106bf806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a723158205713efa92f66e67a8d01b80af8500df66bd6e9862dcf791e587181109d8ab0c464736f6c634300050b0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a7231582053ae9d35bb9db1df3465a7d6eaf05e122dc38e959647dd6bcfb63cdace0be3e464736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a723158205713efa92f66e67a8d01b80af8500df66bd6e9862dcf791e587181109d8ab0c464736f6c634300050b0032" } } }, diff --git a/packages/contract-artifacts/artifacts/ERC721Proxy.json b/packages/contract-artifacts/artifacts/ERC721Proxy.json index 0a7f6bb271..ef539ba123 100644 --- a/packages/contract-artifacts/artifacts/ERC721Proxy.json +++ b/packages/contract-artifacts/artifacts/ERC721Proxy.json @@ -136,10 +136,10 @@ }, "evm": { "bytecode": { - "object": "0x6080604052600080546001600160a01b03191633179055610fb8806100256000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b9181611146103ea578063d39de6e914610431578063f2fde38b14610489576100a3565b80639ad2674414610374578063ae25532e146103ad576100a3565b806342f1181e146102be578063494503d4146102f357806370712939146103395780638da5cb5b1461036c575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e4000000000000000000000000000000000000000000000000000000008114156102b857604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50600160643503156101f4577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0e494e56414c49445f414d4f554e540000000000000000000000000000604052600060605260646000fd5b7f23b872dd000000000000000000000000000000000000000000000000000000006000526040602460043760043560206048820160443760288101356000806064600080855af1915050801561024657005b507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b6102f1600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104bc565b005b6103106004803603602081101561030957600080fd5b50356106a8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102f16004803603602081101561034f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106dc565b6103106109cf565b6102f16004803603604081101561038a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109eb565b6103b5610d9c565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61041d6004803603602081101561040057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dd2565b604080519115158252519081900360200190f35b610439610de7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047557818101518382015260200161045d565b505050509050019250505060405180910390f35b6102f16004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e56565b60005473ffffffffffffffffffffffffffffffffffffffff16331461054257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff16156105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b600281815481106106b557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461076257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166107f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610988578173ffffffffffffffffffffffffffffffffffffffff166002828154811061087057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561098057600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106108c857fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108fb57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061097a9082610f3c565b50610988565b600101610842565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610b0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b9957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ca257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cd557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d549082610f3c565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f455243373231546f6b656e28616464726573732c75696e7432353629000000008152905190819003601c0190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610e4c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e21575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610f3957600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610f6057600083815260209020610f60918101908301610f65565b505050565b610dcf91905b80821115610f7f5760008155600101610f6b565b509056fea265627a7a72315820076f08887b965e1f0bf53d68328b43287c96c8e82afa3b6bdffa2696dbcdf1d064736f6c634300050b0032" + "object": "0x6080604052600080546001600160a01b03191633179055610fb8806100256000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b9181611146103ea578063d39de6e914610431578063f2fde38b14610489576100a3565b80639ad2674414610374578063ae25532e146103ad576100a3565b806342f1181e146102be578063494503d4146102f357806370712939146103395780638da5cb5b1461036c575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e4000000000000000000000000000000000000000000000000000000008114156102b857604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50600160643503156101f4577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0e494e56414c49445f414d4f554e540000000000000000000000000000604052600060605260646000fd5b7f23b872dd000000000000000000000000000000000000000000000000000000006000526040602460043760043560206048820160443760288101356000806064600080855af1915050801561024657005b507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b6102f1600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104bc565b005b6103106004803603602081101561030957600080fd5b50356106a8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102f16004803603602081101561034f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106dc565b6103106109cf565b6102f16004803603604081101561038a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109eb565b6103b5610d9c565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61041d6004803603602081101561040057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dd2565b604080519115158252519081900360200190f35b610439610de7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047557818101518382015260200161045d565b505050509050019250505060405180910390f35b6102f16004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e56565b60005473ffffffffffffffffffffffffffffffffffffffff16331461054257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff16156105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b600281815481106106b557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461076257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166107f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610988578173ffffffffffffffffffffffffffffffffffffffff166002828154811061087057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561098057600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106108c857fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108fb57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061097a9082610f3c565b50610988565b600101610842565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610b0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b9957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ca257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cd557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d549082610f3c565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f455243373231546f6b656e28616464726573732c75696e7432353629000000008152905190819003601c0190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610e4c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e21575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610f3957600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610f6057600083815260209020610f60918101908301610f65565b505050565b610dcf91905b80821115610f7f5760008155600101610f6b565b509056fea265627a7a723158201e53a891f6df3931041b820f71387e9eecd97f7ea0d346c54fab37668bd022ec64736f6c634300050b0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b9181611146103ea578063d39de6e914610431578063f2fde38b14610489576100a3565b80639ad2674414610374578063ae25532e146103ad576100a3565b806342f1181e146102be578063494503d4146102f357806370712939146103395780638da5cb5b1461036c575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e4000000000000000000000000000000000000000000000000000000008114156102b857604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50600160643503156101f4577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0e494e56414c49445f414d4f554e540000000000000000000000000000604052600060605260646000fd5b7f23b872dd000000000000000000000000000000000000000000000000000000006000526040602460043760043560206048820160443760288101356000806064600080855af1915050801561024657005b507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b6102f1600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104bc565b005b6103106004803603602081101561030957600080fd5b50356106a8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102f16004803603602081101561034f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106dc565b6103106109cf565b6102f16004803603604081101561038a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109eb565b6103b5610d9c565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61041d6004803603602081101561040057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dd2565b604080519115158252519081900360200190f35b610439610de7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047557818101518382015260200161045d565b505050509050019250505060405180910390f35b6102f16004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e56565b60005473ffffffffffffffffffffffffffffffffffffffff16331461054257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff16156105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b600281815481106106b557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461076257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166107f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610988578173ffffffffffffffffffffffffffffffffffffffff166002828154811061087057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561098057600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106108c857fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108fb57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061097a9082610f3c565b50610988565b600101610842565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610b0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b9957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ca257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cd557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d549082610f3c565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f455243373231546f6b656e28616464726573732c75696e7432353629000000008152905190819003601c0190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610e4c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e21575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610f3957600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610f6057600083815260209020610f60918101908301610f65565b505050565b610dcf91905b80821115610f7f5760008155600101610f6b565b509056fea265627a7a72315820076f08887b965e1f0bf53d68328b43287c96c8e82afa3b6bdffa2696dbcdf1d064736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b9181611146103ea578063d39de6e914610431578063f2fde38b14610489576100a3565b80639ad2674414610374578063ae25532e146103ad576100a3565b806342f1181e146102be578063494503d4146102f357806370712939146103395780638da5cb5b1461036c575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e4000000000000000000000000000000000000000000000000000000008114156102b857604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50600160643503156101f4577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0e494e56414c49445f414d4f554e540000000000000000000000000000604052600060605260646000fd5b7f23b872dd000000000000000000000000000000000000000000000000000000006000526040602460043760043560206048820160443760288101356000806064600080855af1915050801561024657005b507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b6102f1600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104bc565b005b6103106004803603602081101561030957600080fd5b50356106a8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102f16004803603602081101561034f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106dc565b6103106109cf565b6102f16004803603604081101561038a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109eb565b6103b5610d9c565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61041d6004803603602081101561040057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dd2565b604080519115158252519081900360200190f35b610439610de7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047557818101518382015260200161045d565b505050509050019250505060405180910390f35b6102f16004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e56565b60005473ffffffffffffffffffffffffffffffffffffffff16331461054257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff16156105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b600281815481106106b557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461076257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166107f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610988578173ffffffffffffffffffffffffffffffffffffffff166002828154811061087057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561098057600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106108c857fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108fb57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061097a9082610f3c565b50610988565b600101610842565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610b0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b9957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ca257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cd557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d549082610f3c565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f455243373231546f6b656e28616464726573732c75696e7432353629000000008152905190819003601c0190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610e4c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e21575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610f3957600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610f6057600083815260209020610f60918101908301610f65565b505050565b610dcf91905b80821115610f7f5760008155600101610f6b565b509056fea265627a7a723158201e53a891f6df3931041b820f71387e9eecd97f7ea0d346c54fab37668bd022ec64736f6c634300050b0032" } } }, diff --git a/packages/contract-artifacts/artifacts/ERC721Token.json b/packages/contract-artifacts/artifacts/ERC721Token.json index e32aef044a..e93ee445d8 100644 --- a/packages/contract-artifacts/artifacts/ERC721Token.json +++ b/packages/contract-artifacts/artifacts/ERC721Token.json @@ -4,56 +4,60 @@ "compilerOutput": { "abi": [ { - "constant": true, - "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], - "name": "getApproved", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", - "type": "function" + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "_approved", "type": "address" }, + { "indexed": true, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + ], + "name": "Approval", + "type": "event" }, { - "constant": false, + "anonymous": false, "inputs": [ - { "internalType": "address", "name": "_approved", "type": "address" }, - { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "_operator", "type": "address" }, + { "indexed": false, "internalType": "bool", "name": "_approved", "type": "bool" } ], - "name": "approve", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" + "name": "ApprovalForAll", + "type": "event" }, { - "constant": false, + "anonymous": false, "inputs": [ - { "internalType": "address", "name": "_from", "type": "address" }, - { "internalType": "address", "name": "_to", "type": "address" }, - { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } + { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, + { "indexed": true, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "transferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" + "name": "Transfer", + "type": "event" }, { "constant": false, "inputs": [ - { "internalType": "address", "name": "_from", "type": "address" }, - { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "address", "name": "_approved", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "safeTransferFrom", + "name": "approve", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, + { + "constant": true, + "inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }], + "name": "balanceOf", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], - "name": "ownerOf", + "name": "getApproved", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", @@ -61,9 +65,21 @@ }, { "constant": true, - "inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { "internalType": "address", "name": "_operator", "type": "address" } + ], + "name": "isApprovedForAll", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "uint256", "name": "_tokenId", "type": "uint256" }], + "name": "ownerOf", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" @@ -71,10 +87,11 @@ { "constant": false, "inputs": [ - { "internalType": "address", "name": "_operator", "type": "address" }, - { "internalType": "bool", "name": "_approved", "type": "bool" } + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "setApprovalForAll", + "name": "safeTransferFrom", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -95,46 +112,29 @@ "type": "function" }, { - "constant": true, + "constant": false, "inputs": [ - { "internalType": "address", "name": "_owner", "type": "address" }, - { "internalType": "address", "name": "_operator", "type": "address" } + { "internalType": "address", "name": "_operator", "type": "address" }, + { "internalType": "bool", "name": "_approved", "type": "bool" } ], - "name": "isApprovedForAll", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "name": "setApprovalForAll", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_approved", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, + "constant": false, "inputs": [ - { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_operator", "type": "address" }, - { "indexed": false, "internalType": "bool", "name": "_approved", "type": "bool" } + { "internalType": "address", "name": "_from", "type": "address" }, + { "internalType": "address", "name": "_to", "type": "address" }, + { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "ApprovalForAll", - "type": "event" + "name": "transferFrom", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" } ], "devdoc": { @@ -201,16 +201,16 @@ }, "evm": { "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a72315820f19df649af87dc79d99cb6439a24ea2d10dfe47a300e66c99f0a0354b183378b64736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50610ebe806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158204bc74831490bca4fbe1805808d58d6b0e12f618a37565e744e91d8dc73dc18b164736f6c634300050c0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a72315820f19df649af87dc79d99cb6439a24ea2d10dfe47a300e66c99f0a0354b183378b64736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158204bc74831490bca4fbe1805808d58d6b0e12f618a37565e744e91d8dc73dc18b164736f6c634300050c0032" } } }, "compiler": { "name": "solc", - "version": "soljson-v0.5.11+commit.c082d0b4.js", + "version": "soljson-v0.5.12+commit.7709ece9.js", "settings": { "optimizer": { "enabled": true, diff --git a/packages/contract-artifacts/artifacts/EthBalanceChecker.json b/packages/contract-artifacts/artifacts/EthBalanceChecker.json index 3b3a0c6c08..37d20e9223 100644 --- a/packages/contract-artifacts/artifacts/EthBalanceChecker.json +++ b/packages/contract-artifacts/artifacts/EthBalanceChecker.json @@ -24,10 +24,10 @@ }, "evm": { "bytecode": { - "object": "0x608060405234801561001057600080fd5b506101e5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a0901e5114610030575b600080fd5b6100d36004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610123945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561010f5781810151838201526020016100f7565b505050509050019250505060405180910390f35b6060808251604051908082528060200260200182016040528015610151578160200160208202803883390190505b50905060005b835181146101a95783818151811061016b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163182828151811061019657fe5b6020908102919091010152600101610157565b509291505056fea265627a7a72315820df367235df12381c7051c3ab202d79df7a4451cb2217e4d0ae307a332c552bfd64736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b506101e5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a0901e5114610030575b600080fd5b6100d36004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610123945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561010f5781810151838201526020016100f7565b505050509050019250505060405180910390f35b6060808251604051908082528060200260200182016040528015610151578160200160208202803883390190505b50905060005b835181146101a95783818151811061016b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163182828151811061019657fe5b6020908102919091010152600101610157565b509291505056fea265627a7a7231582094309783f0b63086d85d9cb4f6e5be253699056ac1580a863367c5076ecb5c1864736f6c634300050b0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a0901e5114610030575b600080fd5b6100d36004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610123945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561010f5781810151838201526020016100f7565b505050509050019250505060405180910390f35b6060808251604051908082528060200260200182016040528015610151578160200160208202803883390190505b50905060005b835181146101a95783818151811061016b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163182828151811061019657fe5b6020908102919091010152600101610157565b509291505056fea265627a7a72315820df367235df12381c7051c3ab202d79df7a4451cb2217e4d0ae307a332c552bfd64736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a0901e5114610030575b600080fd5b6100d36004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610123945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561010f5781810151838201526020016100f7565b505050509050019250505060405180910390f35b6060808251604051908082528060200260200182016040528015610151578160200160208202803883390190505b50905060005b835181146101a95783818151811061016b57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163182828151811061019657fe5b6020908102919091010152600101610157565b509291505056fea265627a7a7231582094309783f0b63086d85d9cb4f6e5be253699056ac1580a863367c5076ecb5c1864736f6c634300050b0032" } } }, diff --git a/packages/contract-artifacts/artifacts/Exchange.json b/packages/contract-artifacts/artifacts/Exchange.json index 18c50b28ae..872ea30772 100644 --- a/packages/contract-artifacts/artifacts/Exchange.json +++ b/packages/contract-artifacts/artifacts/Exchange.json @@ -4,59 +4,155 @@ "compilerOutput": { "abi": [ { - "constant": true, - "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "name": "transactionsExecuted", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "inputs": [{ "internalType": "uint256", "name": "chainId", "type": "uint256" }], "payable": false, - "stateMutability": "view", - "type": "function" + "stateMutability": "nonpayable", + "type": "constructor" }, { - "constant": true, - "inputs": [], - "name": "protocolFeeMultiplier", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" + "anonymous": false, + "inputs": [ + { "indexed": false, "internalType": "bytes4", "name": "id", "type": "bytes4" }, + { "indexed": false, "internalType": "address", "name": "assetProxy", "type": "address" } + ], + "name": "AssetProxyRegistered", + "type": "event" }, { - "constant": false, + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "makerAddress", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, + { "indexed": false, "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, + { "indexed": false, "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, + { "indexed": false, "internalType": "address", "name": "senderAddress", "type": "address" }, + { "indexed": true, "internalType": "bytes32", "name": "orderHash", "type": "bytes32" } + ], + "name": "Cancel", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "makerAddress", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "orderSenderAddress", "type": "address" }, + { "indexed": false, "internalType": "uint256", "name": "orderEpoch", "type": "uint256" } + ], + "name": "CancelUpTo", + "type": "event" + }, + { + "anonymous": false, "inputs": [ + { "indexed": true, "internalType": "address", "name": "makerAddress", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, + { "indexed": false, "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, + { "indexed": false, "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, + { "indexed": false, "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, + { "indexed": false, "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" }, + { "indexed": true, "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, + { "indexed": false, "internalType": "address", "name": "takerAddress", "type": "address" }, + { "indexed": false, "internalType": "address", "name": "senderAddress", "type": "address" }, { - "components": [ - { "internalType": "uint256", "name": "salt", "type": "uint256" }, - { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, - { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, - { "internalType": "address", "name": "signerAddress", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "internalType": "struct LibZeroExTransaction.ZeroExTransaction", - "name": "transaction", - "type": "tuple" + "indexed": false, + "internalType": "uint256", + "name": "makerAssetFilledAmount", + "type": "uint256" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } + { + "indexed": false, + "internalType": "uint256", + "name": "takerAssetFilledAmount", + "type": "uint256" + }, + { "indexed": false, "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, + { "indexed": false, "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, + { "indexed": false, "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } ], - "name": "executeTransaction", - "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }], - "payable": true, - "stateMutability": "payable", + "name": "Fill", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldProtocolFeeCollector", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "updatedProtocolFeeCollector", + "type": "address" + } + ], + "name": "ProtocolFeeCollectorAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldProtocolFeeMultiplier", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "updatedProtocolFeeMultiplier", + "type": "uint256" + } + ], + "name": "ProtocolFeeMultiplier", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "signerAddress", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "validatorAddress", "type": "address" }, + { "indexed": false, "internalType": "bool", "name": "isApproved", "type": "bool" } + ], + "name": "SignatureValidatorApproval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "bytes32", "name": "transactionHash", "type": "bytes32" } + ], + "name": "TransactionExecution", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "EIP1271_MAGIC_VALUE", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }], + "payable": false, + "stateMutability": "view", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "name": "filled", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "inputs": [], + "name": "EIP712_EXCHANGE_DOMAIN_HASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, - "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "name": "cancelled", + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "allowedValidators", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, "stateMutability": "view", @@ -82,17 +178,40 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order", - "name": "order", - "type": "tuple" + "internalType": "struct LibOrder.Order[]", + "name": "orders", + "type": "tuple[]" } ], - "name": "cancelOrder", + "name": "batchCancelOrders", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "components": [ + { "internalType": "uint256", "name": "salt", "type": "uint256" }, + { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, + { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, + { "internalType": "address", "name": "signerAddress", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "internalType": "struct LibZeroExTransaction.ZeroExTransaction[]", + "name": "transactions", + "type": "tuple[]" + }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } + ], + "name": "batchExecuteTransactions", + "outputs": [{ "internalType": "bytes[]", "name": "", "type": "bytes[]" }], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, { "constant": false, "inputs": [ @@ -117,10 +236,10 @@ "name": "orders", "type": "tuple[]" }, - { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, + { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" }, { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], - "name": "marketSellOrdersNoThrow", + "name": "batchFillOrKillOrders", "outputs": [ { "components": [ @@ -130,42 +249,15 @@ { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } ], - "internalType": "struct LibFillResults.FillResults", + "internalType": "struct LibFillResults.FillResults[]", "name": "fillResults", - "type": "tuple" + "type": "tuple[]" } ], "payable": true, "stateMutability": "payable", "type": "function" }, - { - "constant": false, - "inputs": [{ "internalType": "bytes32", "name": "hash", "type": "bytes32" }], - "name": "preSign", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ "internalType": "uint256", "name": "targetOrderEpoch", "type": "uint256" }], - "name": "cancelOrdersUpTo", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }], - "name": "getAssetProxy", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": false, "inputs": [ @@ -187,25 +279,117 @@ { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], "internalType": "struct LibOrder.Order[]", - "name": "leftOrders", + "name": "orders", "type": "tuple[]" }, + { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } + ], + "name": "batchFillOrders", + "outputs": [ { "components": [ - { "internalType": "address", "name": "makerAddress", "type": "address" }, - { "internalType": "address", "name": "takerAddress", "type": "address" }, - { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, - { "internalType": "address", "name": "senderAddress", "type": "address" }, - { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, - { "internalType": "uint256", "name": "salt", "type": "uint256" }, - { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } + { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + ], + "internalType": "struct LibFillResults.FillResults[]", + "name": "fillResults", + "type": "tuple[]" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { "internalType": "address", "name": "makerAddress", "type": "address" }, + { "internalType": "address", "name": "takerAddress", "type": "address" }, + { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, + { "internalType": "address", "name": "senderAddress", "type": "address" }, + { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, + { "internalType": "uint256", "name": "salt", "type": "uint256" }, + { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } + ], + "internalType": "struct LibOrder.Order[]", + "name": "orders", + "type": "tuple[]" + }, + { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } + ], + "name": "batchFillOrdersNoThrow", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + ], + "internalType": "struct LibFillResults.FillResults[]", + "name": "fillResults", + "type": "tuple[]" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { "internalType": "address", "name": "makerAddress", "type": "address" }, + { "internalType": "address", "name": "takerAddress", "type": "address" }, + { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, + { "internalType": "address", "name": "senderAddress", "type": "address" }, + { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, + { "internalType": "uint256", "name": "salt", "type": "uint256" }, + { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } + ], + "internalType": "struct LibOrder.Order[]", + "name": "leftOrders", + "type": "tuple[]" + }, + { + "components": [ + { "internalType": "address", "name": "makerAddress", "type": "address" }, + { "internalType": "address", "name": "takerAddress", "type": "address" }, + { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, + { "internalType": "address", "name": "senderAddress", "type": "address" }, + { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, + { "internalType": "uint256", "name": "salt", "type": "uint256" }, + { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], "internalType": "struct LibOrder.Order[]", "name": "rightOrders", @@ -214,7 +398,7 @@ { "internalType": "bytes[]", "name": "leftSignatures", "type": "bytes[]" }, { "internalType": "bytes[]", "name": "rightSignatures", "type": "bytes[]" } ], - "name": "batchMatchOrdersWithMaximalFill", + "name": "batchMatchOrders", "outputs": [ { "components": [ @@ -302,7 +486,7 @@ { "internalType": "bytes[]", "name": "leftSignatures", "type": "bytes[]" }, { "internalType": "bytes[]", "name": "rightSignatures", "type": "bytes[]" } ], - "name": "batchMatchOrders", + "name": "batchMatchOrdersWithMaximalFill", "outputs": [ { "components": [ @@ -342,18 +526,6 @@ "stateMutability": "payable", "type": "function" }, - { - "constant": false, - "inputs": [ - { "internalType": "address", "name": "validatorAddress", "type": "address" }, - { "internalType": "bool", "name": "approval", "type": "bool" } - ], - "name": "setSignatureValidatorApproval", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, { "constant": false, "inputs": [ @@ -374,64 +546,30 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order[]", - "name": "orders", - "type": "tuple[]" - }, - { "internalType": "uint256", "name": "makerAssetFillAmount", "type": "uint256" }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } - ], - "name": "marketBuyOrdersNoThrow", - "outputs": [ - { - "components": [ - { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } - ], - "internalType": "struct LibFillResults.FillResults", - "name": "fillResults", + "internalType": "struct LibOrder.Order", + "name": "order", "type": "tuple" } ], + "name": "cancelOrder", + "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { - "constant": true, - "inputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" } - ], - "name": "allowedValidators", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { "internalType": "bytes32", "name": "hash", "type": "bytes32" }, - { "internalType": "address", "name": "signerAddress", "type": "address" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } - ], - "name": "isValidHashSignature", - "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], - "payable": false, - "stateMutability": "view", + "constant": false, + "inputs": [{ "internalType": "uint256", "name": "targetOrderEpoch", "type": "uint256" }], + "name": "cancelOrdersUpTo", + "outputs": [], + "payable": true, + "stateMutability": "payable", "type": "function" }, { "constant": true, - "inputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" }, - { "internalType": "address", "name": "", "type": "address" } - ], - "name": "preSigned", + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "cancelled", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], "payable": false, "stateMutability": "view", @@ -440,7 +578,7 @@ { "constant": true, "inputs": [], - "name": "protocolFeeCollector", + "name": "currentContextAddress", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", @@ -451,25 +589,27 @@ "inputs": [ { "components": [ - { "internalType": "address", "name": "makerAddress", "type": "address" }, - { "internalType": "address", "name": "takerAddress", "type": "address" }, - { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, - { "internalType": "address", "name": "senderAddress", "type": "address" }, - { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, { "internalType": "uint256", "name": "salt", "type": "uint256" }, - { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } + { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, + { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, + { "internalType": "address", "name": "signerAddress", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } ], - "internalType": "struct LibOrder.Order", - "name": "leftOrder", + "internalType": "struct LibZeroExTransaction.ZeroExTransaction", + "name": "transaction", "type": "tuple" }, + { "internalType": "bytes", "name": "signature", "type": "bytes" } + ], + "name": "executeTransaction", + "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ { "components": [ { "internalType": "address", "name": "makerAddress", "type": "address" }, @@ -488,45 +628,24 @@ { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], "internalType": "struct LibOrder.Order", - "name": "rightOrder", + "name": "order", "type": "tuple" }, - { "internalType": "bytes", "name": "leftSignature", "type": "bytes" }, - { "internalType": "bytes", "name": "rightSignature", "type": "bytes" } + { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes", "name": "signature", "type": "bytes" } ], - "name": "matchOrders", + "name": "fillOrKillOrder", "outputs": [ { "components": [ - { - "components": [ - { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } - ], - "internalType": "struct LibFillResults.FillResults", - "name": "left", - "type": "tuple" - }, - { - "components": [ - { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } - ], - "internalType": "struct LibFillResults.FillResults", - "name": "right", - "type": "tuple" - }, - { "internalType": "uint256", "name": "profitInLeftMakerAsset", "type": "uint256" }, - { "internalType": "uint256", "name": "profitInRightMakerAsset", "type": "uint256" } + { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } ], - "internalType": "struct LibFillResults.MatchedFillResults", - "name": "matchedFillResults", + "internalType": "struct LibFillResults.FillResults", + "name": "fillResults", "type": "tuple" } ], @@ -554,14 +673,14 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order[]", - "name": "orders", - "type": "tuple[]" + "internalType": "struct LibOrder.Order", + "name": "order", + "type": "tuple" }, - { "internalType": "uint256", "name": "makerAssetFillAmount", "type": "uint256" }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } - ], - "name": "marketBuyOrdersFillOrKill", + { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes", "name": "signature", "type": "bytes" } + ], + "name": "fillOrder", "outputs": [ { "components": [ @@ -582,38 +701,24 @@ }, { "constant": true, - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "salt", "type": "uint256" }, - { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, - { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, - { "internalType": "address", "name": "signerAddress", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "internalType": "struct LibZeroExTransaction.ZeroExTransaction", - "name": "transaction", - "type": "tuple" - }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } - ], - "name": "isValidTransactionSignature", - "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "filled", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, - "inputs": [], - "name": "owner", + "inputs": [{ "internalType": "bytes4", "name": "assetProxyId", "type": "bytes4" }], + "name": "getAssetProxy", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" }, { - "constant": false, + "constant": true, "inputs": [ { "components": [ @@ -632,43 +737,43 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order[]", - "name": "orders", - "type": "tuple[]" - }, - { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } + "internalType": "struct LibOrder.Order", + "name": "order", + "type": "tuple" + } ], - "name": "batchFillOrdersNoThrow", + "name": "getOrderInfo", "outputs": [ { "components": [ - { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + { "internalType": "uint8", "name": "orderStatus", "type": "uint8" }, + { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, + { "internalType": "uint256", "name": "orderTakerAssetFilledAmount", "type": "uint256" } ], - "internalType": "struct LibFillResults.FillResults[]", - "name": "fillResults", - "type": "tuple[]" + "internalType": "struct LibOrder.OrderInfo", + "name": "orderInfo", + "type": "tuple" } ], - "payable": true, - "stateMutability": "payable", + "payable": false, + "stateMutability": "view", "type": "function" }, { - "constant": false, - "inputs": [{ "internalType": "uint256", "name": "updatedProtocolFeeMultiplier", "type": "uint256" }], - "name": "setProtocolFeeMultiplier", - "outputs": [], + "constant": true, + "inputs": [ + { "internalType": "bytes32", "name": "hash", "type": "bytes32" }, + { "internalType": "address", "name": "signerAddress", "type": "address" }, + { "internalType": "bytes", "name": "signature", "type": "bytes" } + ], + "name": "isValidHashSignature", + "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { - "constant": false, + "constant": true, "inputs": [ { "components": [ @@ -687,30 +792,39 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order[]", - "name": "orders", - "type": "tuple[]" + "internalType": "struct LibOrder.Order", + "name": "order", + "type": "tuple" }, - { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } + { "internalType": "bytes", "name": "signature", "type": "bytes" } ], - "name": "batchFillOrders", - "outputs": [ + "name": "isValidOrderSignature", + "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ { "components": [ - { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + { "internalType": "uint256", "name": "salt", "type": "uint256" }, + { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, + { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, + { "internalType": "address", "name": "signerAddress", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } ], - "internalType": "struct LibFillResults.FillResults[]", - "name": "fillResults", - "type": "tuple[]" - } + "internalType": "struct LibZeroExTransaction.ZeroExTransaction", + "name": "transaction", + "type": "tuple" + }, + { "internalType": "bytes", "name": "signature", "type": "bytes" } ], - "payable": true, - "stateMutability": "payable", + "name": "isValidTransactionSignature", + "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], + "payable": false, + "stateMutability": "view", "type": "function" }, { @@ -733,14 +847,14 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order", - "name": "order", - "type": "tuple" + "internalType": "struct LibOrder.Order[]", + "name": "orders", + "type": "tuple[]" }, - { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } + { "internalType": "uint256", "name": "makerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], - "name": "fillOrder", + "name": "marketBuyOrdersFillOrKill", "outputs": [ { "components": [ @@ -760,7 +874,7 @@ "type": "function" }, { - "constant": true, + "constant": false, "inputs": [ { "components": [ @@ -779,30 +893,34 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order", - "name": "order", - "type": "tuple" - } + "internalType": "struct LibOrder.Order[]", + "name": "orders", + "type": "tuple[]" + }, + { "internalType": "uint256", "name": "makerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], - "name": "getOrderInfo", + "name": "marketBuyOrdersNoThrow", "outputs": [ { "components": [ - { "internalType": "uint8", "name": "orderStatus", "type": "uint8" }, - { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "internalType": "uint256", "name": "orderTakerAssetFilledAmount", "type": "uint256" } + { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } ], - "internalType": "struct LibOrder.OrderInfo", - "name": "orderInfo", + "internalType": "struct LibFillResults.FillResults", + "name": "fillResults", "type": "tuple" } ], - "payable": false, - "stateMutability": "view", + "payable": true, + "stateMutability": "payable", "type": "function" }, { - "constant": true, + "constant": false, "inputs": [ { "components": [ @@ -821,16 +939,30 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order", - "name": "order", - "type": "tuple" + "internalType": "struct LibOrder.Order[]", + "name": "orders", + "type": "tuple[]" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } + { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, + { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], - "name": "isValidOrderSignature", - "outputs": [{ "internalType": "bool", "name": "isValid", "type": "bool" }], - "payable": false, - "stateMutability": "view", + "name": "marketSellOrdersFillOrKill", + "outputs": [ + { + "components": [ + { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + ], + "internalType": "struct LibFillResults.FillResults", + "name": "fillResults", + "type": "tuple" + } + ], + "payable": true, + "stateMutability": "payable", "type": "function" }, { @@ -860,7 +992,7 @@ { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } ], - "name": "marketSellOrdersFillOrKill", + "name": "marketSellOrdersNoThrow", "outputs": [ { "components": [ @@ -879,20 +1011,6 @@ "stateMutability": "payable", "type": "function" }, - { - "constant": false, - "inputs": [ - { "internalType": "bytes[]", "name": "assetData", "type": "bytes[]" }, - { "internalType": "address[]", "name": "fromAddresses", "type": "address[]" }, - { "internalType": "address[]", "name": "toAddresses", "type": "address[]" }, - { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } - ], - "name": "simulateDispatchTransferFromCalls", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, { "constant": false, "inputs": [ @@ -941,7 +1059,7 @@ { "internalType": "bytes", "name": "leftSignature", "type": "bytes" }, { "internalType": "bytes", "name": "rightSignature", "type": "bytes" } ], - "name": "matchOrdersWithMaximalFill", + "name": "matchOrders", "outputs": [ { "components": [ @@ -1001,57 +1119,72 @@ { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibOrder.Order[]", - "name": "orders", - "type": "tuple[]" + "internalType": "struct LibOrder.Order", + "name": "leftOrder", + "type": "tuple" }, - { "internalType": "uint256[]", "name": "takerAssetFillAmounts", "type": "uint256[]" }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } - ], - "name": "batchFillOrKillOrders", - "outputs": [ { "components": [ - { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + { "internalType": "address", "name": "makerAddress", "type": "address" }, + { "internalType": "address", "name": "takerAddress", "type": "address" }, + { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, + { "internalType": "address", "name": "senderAddress", "type": "address" }, + { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, + { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, + { "internalType": "uint256", "name": "salt", "type": "uint256" }, + { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, + { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } ], - "internalType": "struct LibFillResults.FillResults[]", - "name": "fillResults", - "type": "tuple[]" - } + "internalType": "struct LibOrder.Order", + "name": "rightOrder", + "type": "tuple" + }, + { "internalType": "bytes", "name": "leftSignature", "type": "bytes" }, + { "internalType": "bytes", "name": "rightSignature", "type": "bytes" } ], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [{ "internalType": "address", "name": "updatedProtocolFeeCollector", "type": "address" }], - "name": "setProtocolFeeCollectorAddress", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "EIP712_EXCHANGE_DOMAIN_HASH", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [{ "internalType": "address", "name": "assetProxy", "type": "address" }], - "name": "registerAssetProxy", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", + "name": "matchOrdersWithMaximalFill", + "outputs": [ + { + "components": [ + { + "components": [ + { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + ], + "internalType": "struct LibFillResults.FillResults", + "name": "left", + "type": "tuple" + }, + { + "components": [ + { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, + { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, + { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + ], + "internalType": "struct LibFillResults.FillResults", + "name": "right", + "type": "tuple" + }, + { "internalType": "uint256", "name": "profitInLeftMakerAsset", "type": "uint256" }, + { "internalType": "uint256", "name": "profitInRightMakerAsset", "type": "uint256" } + ], + "internalType": "struct LibFillResults.MatchedFillResults", + "name": "matchedFillResults", + "type": "tuple" + } + ], + "payable": true, + "stateMutability": "payable", "type": "function" }, { @@ -1069,102 +1202,55 @@ { "constant": true, "inputs": [], - "name": "EIP1271_MAGIC_VALUE", - "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, - "inputs": [ - { - "components": [ - { "internalType": "address", "name": "makerAddress", "type": "address" }, - { "internalType": "address", "name": "takerAddress", "type": "address" }, - { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, - { "internalType": "address", "name": "senderAddress", "type": "address" }, - { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, - { "internalType": "uint256", "name": "salt", "type": "uint256" }, - { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } - ], - "internalType": "struct LibOrder.Order[]", - "name": "orders", - "type": "tuple[]" - } - ], - "name": "batchCancelOrders", + "inputs": [{ "internalType": "bytes32", "name": "hash", "type": "bytes32" }], + "name": "preSign", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { - "constant": false, + "constant": true, "inputs": [ - { - "components": [ - { "internalType": "address", "name": "makerAddress", "type": "address" }, - { "internalType": "address", "name": "takerAddress", "type": "address" }, - { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, - { "internalType": "address", "name": "senderAddress", "type": "address" }, - { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, - { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, - { "internalType": "uint256", "name": "salt", "type": "uint256" }, - { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, - { "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" } - ], - "internalType": "struct LibOrder.Order", - "name": "order", - "type": "tuple" - }, - { "internalType": "uint256", "name": "takerAssetFillAmount", "type": "uint256" }, - { "internalType": "bytes", "name": "signature", "type": "bytes" } - ], - "name": "fillOrKillOrder", - "outputs": [ - { - "components": [ - { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, - { "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } - ], - "internalType": "struct LibFillResults.FillResults", - "name": "fillResults", - "type": "tuple" - } + { "internalType": "bytes32", "name": "", "type": "bytes32" }, + { "internalType": "address", "name": "", "type": "address" } ], - "payable": true, - "stateMutability": "payable", + "name": "preSigned", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], - "name": "currentContextAddress", + "name": "protocolFeeCollector", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "protocolFeeMultiplier", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": false, - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", + "inputs": [{ "internalType": "address", "name": "assetProxy", "type": "address" }], + "name": "registerAssetProxy", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -1172,151 +1258,65 @@ }, { "constant": false, - "inputs": [ - { - "components": [ - { "internalType": "uint256", "name": "salt", "type": "uint256" }, - { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, - { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, - { "internalType": "address", "name": "signerAddress", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "internalType": "struct LibZeroExTransaction.ZeroExTransaction[]", - "name": "transactions", - "type": "tuple[]" - }, - { "internalType": "bytes[]", "name": "signatures", "type": "bytes[]" } - ], - "name": "batchExecuteTransactions", - "outputs": [{ "internalType": "bytes[]", "name": "", "type": "bytes[]" }], - "payable": true, - "stateMutability": "payable", + "inputs": [{ "internalType": "address", "name": "updatedProtocolFeeCollector", "type": "address" }], + "name": "setProtocolFeeCollectorAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [{ "internalType": "uint256", "name": "chainId", "type": "uint256" }], + "constant": false, + "inputs": [{ "internalType": "uint256", "name": "updatedProtocolFeeMultiplier", "type": "uint256" }], + "name": "setProtocolFeeMultiplier", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "transactionHash", "type": "bytes32" } - ], - "name": "TransactionExecution", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "signerAddress", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "validatorAddress", "type": "address" }, - { "indexed": false, "internalType": "bool", "name": "isApproved", "type": "bool" } - ], - "name": "SignatureValidatorApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "bytes4", "name": "id", "type": "bytes4" }, - { "indexed": false, "internalType": "address", "name": "assetProxy", "type": "address" } - ], - "name": "AssetProxyRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "oldProtocolFeeMultiplier", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "updatedProtocolFeeMultiplier", - "type": "uint256" - } - ], - "name": "ProtocolFeeMultiplier", - "type": "event" + "type": "function" }, { - "anonymous": false, + "constant": false, "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldProtocolFeeCollector", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "updatedProtocolFeeCollector", - "type": "address" - } + { "internalType": "address", "name": "validatorAddress", "type": "address" }, + { "internalType": "bool", "name": "approval", "type": "bool" } ], - "name": "ProtocolFeeCollectorAddress", - "type": "event" + "name": "setSignatureValidatorApproval", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" }, { - "anonymous": false, + "constant": false, "inputs": [ - { "indexed": true, "internalType": "address", "name": "makerAddress", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, - { "indexed": false, "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, - { "indexed": false, "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, - { "indexed": false, "internalType": "bytes", "name": "makerFeeAssetData", "type": "bytes" }, - { "indexed": false, "internalType": "bytes", "name": "takerFeeAssetData", "type": "bytes" }, - { "indexed": true, "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, - { "indexed": false, "internalType": "address", "name": "takerAddress", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "senderAddress", "type": "address" }, - { - "indexed": false, - "internalType": "uint256", - "name": "makerAssetFilledAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "takerAssetFilledAmount", - "type": "uint256" - }, - { "indexed": false, "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "protocolFeePaid", "type": "uint256" } + { "internalType": "bytes[]", "name": "assetData", "type": "bytes[]" }, + { "internalType": "address[]", "name": "fromAddresses", "type": "address[]" }, + { "internalType": "address[]", "name": "toAddresses", "type": "address[]" }, + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], - "name": "Fill", - "type": "event" + "name": "simulateDispatchTransferFromCalls", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" }, { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "makerAddress", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, - { "indexed": false, "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, - { "indexed": false, "internalType": "bytes", "name": "takerAssetData", "type": "bytes" }, - { "indexed": false, "internalType": "address", "name": "senderAddress", "type": "address" }, - { "indexed": true, "internalType": "bytes32", "name": "orderHash", "type": "bytes32" } - ], - "name": "Cancel", - "type": "event" + "constant": true, + "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "transactionsExecuted", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "view", + "type": "function" }, { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "makerAddress", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "orderSenderAddress", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "orderEpoch", "type": "uint256" } - ], - "name": "CancelUpTo", - "type": "event" + "constant": false, + "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" } ], "devdoc": { @@ -1544,16 +1544,16 @@ }, "evm": { "bytecode": { - "object": "0x60806040526000805460ff60a01b191690553480156200001e57600080fd5b5060405162005df038038062005df0833981016040819052620000419162000141565b600080546001600160a01b03191633178155819080309050620000dc6040518060400160405280600b81526020017f30782050726f746f636f6c0000000000000000000000000000000000000000008152506040518060400160405280600581526020017f332e302e300000000000000000000000000000000000000000000000000000008152508584620000ea60201b62005beb1760201c565b600155506200015b92505050565b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a0902090565b6000602082840312156200015457600080fd5b5051919050565b615c85806200016b6000396000f3fe6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e6c565b61076a565b60405161030391906154de565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154e9565b61034161033c36600461511e565b610785565b60405161030391906156bb565b34801561035a57600080fd5b50610321610369366004614e6c565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e6c565b6107d9565b6103a161039c366004614f92565b6107ee565b005b6103b66103b1366004614d67565b610812565b60405161030391906159de565b6103a16103d1366004614e6c565b610939565b6103a16103e4366004614e6c565b6109ac565b3480156103f557600080fd5b50610409610404366004614ef9565b610ab9565b6040516103039190615374565b610429610424366004614c46565b610b07565b6040516103039190615967565b610429610444366004614c46565b610b3f565b6103a1610457366004614b2b565b610b5d565b6103b661046a366004614d67565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614eaa565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e85565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f2366004615021565b610e2b565b60405161030391906159ec565b6103b6610512366004614d67565b610e49565b34801561052357600080fd5b506102f661053236600461511e565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614ce3565b610ebe565b60405161030391906154cb565b34801561057857600080fd5b506103a1610587366004614e6c565b610fe9565b61055f61059a366004614ce3565b611031565b6103b66105ad3660046150be565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f92565b61111d565b6040516103039190615a2e565b3480156105eb57600080fd5b506102f66105fa366004614fc7565b611201565b6103b661060d366004614d67565b611226565b34801561061e57600080fd5b506103a161062d366004614b68565b61125a565b6104f7610640366004615021565b611306565b61055f610653366004614ce3565b611324565b34801561066457600080fd5b506103a1610673366004614ada565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614ada565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b6040516103039190615646565b6103a16106fd366004614c11565b611657565b6103b66107103660046150be565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614ada565b6116d0565b61075d610758366004614dba565b611748565b604051610303919061544c565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154e9565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154de565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d6003548260405161102492919061555d565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615930565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff909116908490615395565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f16565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615673565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556080870151905160609130916119209190615327565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a74565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe9190615327565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f33565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153bc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158d4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b90506000600188858585604051600081526020016040526040516123719493929190615628565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b905060006001886040516020016124689190615343565b60405160208183030381529060405280519060200120858585604051600081526020016040526040516123719493929190615628565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d61939291906158b9565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156ce565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c9190615327565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615673565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a4392919061556b565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b929091903390615736565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615861565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d919061584e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e0000000000000000000000000000000000000000000000000000000090613024908890879060240161556b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc9190615327565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615782565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a9f565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a43929190615395565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a52565b606063488219a660e01b848484604051602401611d6193929190615826565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d6193929190615584565b606063f598518460e01b8383604051602401612a43929190615919565b606063a26dac0960e01b848484604051602401611d6193929190615612565b606063dec4aedf60e01b8383604051602401612a439291906154f2565b606063e53c76c860e01b848484604051602401611d6193929190615882565b6060632800659560e01b848484604051602401611d61939291906158c6565b9052565b6060631b8388f760e01b8585858560405160240161221e9493929190615516565b606063fdb6ca8d60e01b8383604051602401612a439291906155af565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a4392919061555d565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a43929190615395565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb39088908890602401615711565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b9190615327565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d6193929190615612565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153bc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff1684846040516143919190615327565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153ed565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155cd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b30565b615b09565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b30565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b30565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b30565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615b09565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615b09565b915050600061493d84846146d3565b825261494c84602085016146d3565b602083015261495e84604085016146d3565b604083015261497084606085016146d3565b60608301526080830135608083015260a083013560a083015260c083013560c083015260e083013560e08301526101008084013581840152506101208084013581840152506101408084013567ffffffffffffffff808211156149d1578384fd5b6149dd8783880161488b565b838601526101609250828601359150808211156149f8578384fd5b614a048783880161488b565b83860152610180925082860135915080821115614a1f578384fd5b614a2b8783880161488b565b838601526101a0925082860135915080821115614a46578384fd5b50614a538682870161488b565b8285015250505092915050565b600060a08284031215614a71578081fd5b614a7b60a0615b09565b90508135815260208201356020820152604082013560408201526060820135614aa381615b9b565b6060820152608082013567ffffffffffffffff811115614ac257600080fd5b614ace8482850161488b565b60808301525092915050565b600060208284031215614aec57600080fd5b61093283836146d3565b60008060408385031215614b0957600080fd5b614b1384846146d3565b9150614b2284602085016146d3565b90509250929050565b60008060408385031215614b3e57600080fd5b614b4884846146d3565b915060208301358015158114614b5d57600080fd5b809150509250929050565b60008060008060808587031215614b7d578182fd5b843567ffffffffffffffff80821115614b94578384fd5b614ba08883890161476d565b95506020870135915080821115614bb5578384fd5b614bc1888389016146f7565b94506040870135915080821115614bd6578384fd5b614be2888389016146f7565b93506060870135915080821115614bf857600080fd5b50614c058782880161482d565b91505092959194509250565b600060208284031215614c2357600080fd5b813567ffffffffffffffff811115614c3a57600080fd5b610b37848285016147d2565b60008060008060808587031215614c5b578182fd5b843567ffffffffffffffff80821115614c72578384fd5b614c7e888389016147d2565b95506020870135915080821115614c93578384fd5b614c9f888389016147d2565b94506040870135915080821115614cb4578384fd5b614cc08883890161476d565b93506060870135915080821115614cd657600080fd5b50614c058782880161476d565b600080600060608486031215614cf7578081fd5b833567ffffffffffffffff80821115614d0e578283fd5b614d1a878388016147d2565b94506020860135915080821115614d2f578283fd5b614d3b8783880161482d565b93506040860135915080821115614d50578283fd5b50614d5d8682870161476d565b9150509250925092565b600080600060608486031215614d7b578081fd5b833567ffffffffffffffff80821115614d92578283fd5b614d9e878388016147d2565b9450602086013593506040860135915080821115614d50578283fd5b60008060408385031215614dcc578182fd5b823567ffffffffffffffff80821115614de3578384fd5b81850186601f820112614df4578485fd5b80359250614e0461471584615b30565b83815260208082019190838101885b87811015614e3c57614e2a8c848435890101614a60565b85529382019390820190600101614e13565b50919750880135945050505080821115614e5557600080fd5b50614e628582860161476d565b9150509250929050565b600060208284031215614e7e57600080fd5b5035919050565b60008060408385031215614e9857600080fd5b823591506020830135614b5d81615b9b565b600080600060608486031215614ebf57600080fd5b833592506020840135614ed181615b9b565b9150604084013567ffffffffffffffff811115614eed57600080fd5b614d5d8682870161488b565b600060208284031215614f0b57600080fd5b813561093281615bbd565b600060208284031215614f2857600080fd5b815161093281615bbd565b600060a0828403128015614f4657600080fd5b8015614f5157600080fd5b50614f5c60a0615b09565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614fa457600080fd5b813567ffffffffffffffff811115614fbb57600080fd5b610b3784828501614912565b60008060408385031215614fda57600080fd5b823567ffffffffffffffff80821115614ff257600080fd5b614ffe86838701614912565b9350602085013591508082111561501457600080fd5b50614e628582860161488b565b60008060008060808587031215615036578182fd5b843567ffffffffffffffff8082111561504d578384fd5b61505988838901614912565b9550602087013591508082111561506e578384fd5b61507a88838901614912565b9450604087013591508082111561508f578384fd5b61509b8883890161488b565b935060608701359150808211156150b157600080fd5b50614c058782880161488b565b6000806000606084860312156150d2578081fd5b833567ffffffffffffffff808211156150e9578283fd5b6150f587838801614912565b9450602086013593506040860135915080821115615111578283fd5b50614d5d8682870161488b565b6000806040838503121561513157600080fd5b823567ffffffffffffffff8082111561514957600080fd5b614ffe86838701614a60565b73ffffffffffffffffffffffffffffffffffffffff169052565b600081518084526020840193506020830160005b828110156151ac57615196868351615200565b60a0959095019460209190910190600101615183565b5093949350505050565b600081518084526151ce816020860160208601615b51565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c0615240848451615155565b60208301516152526020860182615155565b5060408301516152656040860182615155565b5060608301516152786060860182615155565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152d1838701826151b6565b915050610160915081840151858203838701526152ee82826151b6565b92505050610180808401518583038287015261530a83826151b6565b9150506101a091508184015185820383870152613de282826151b6565b60008251615339818460208701615b51565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff861682526080602083015261541c60808301866151b6565b828103604084015261542e81866151b6565b838103606085015261544081866151b6565b98975050505050505050565b600060208083018184528085518083526040860191506040848202870101925083870160005b828110156154be577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526154ac8583516151b6565b94509285019290850190600101615472565b5092979650505050505050565b600060208252610932602083018461516f565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff851660208301526080604083015261554b60808301856151b6565b82810360608401526138a981856151b6565b918252602082015260400190565b600083825260406020830152610b3760408301846151b6565b60008482526060602083015261559d60608301856151b6565b8281036040840152613de281856151b6565b82815260408101600783106155c057fe5b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a08301846151b6565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60006020825261093260208301846151b6565b6000608082526156e160808301876151b6565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b60006040825261572460408301856151b6565b8281036020840152610de681856151b6565b60006060825261574960608301866151b6565b828103602084015261575b81866151b6565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b60006101608083526157968184018f6151b6565b83810360208501526157a8818f6151b6565b91505082810360408401526157bd818d6151b6565b83810360608501526157cf818d6151b6565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061583185615b7d565b84825283602083015260606040830152610de660608301846151b6565b6020810161585b83615b87565b91905290565b6060810161586e85615b87565b938152602081019290925260409091015290565b6060810161588f85615b91565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161586e85615b91565b606081016008851061586e57fe5b6000600786106158e057fe5b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de260808301846151b6565b6040810161592684615b7d565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261598360a084018261516f565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159be818361516f565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c18284615200565b600061018082019050615a00828451615200565b6020830151615a1260a0840182615200565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a656040830185615230565b90508260208301529392505050565b600060608252615a876060830186615230565b8460208401528281036040840152613de281856151b6565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615af960e08401826151b6565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b2857600080fd5b604052919050565b600067ffffffffffffffff821115615b4757600080fd5b5060209081020190565b60005b83811015615b6c578181015183820152602001615b54565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a090209056fea365627a7a723158200ee8e24c946cd722f30bbe87701905f4bde0c0bbea668fda2eb6aaf5f8596c936c6578706572696d656e74616cf564736f6c634300050b0040" + "object": "0x60806040526000805460ff60a01b191690553480156200001e57600080fd5b5060405162005ddc38038062005ddc833981016040819052620000419162000141565b600080546001600160a01b03191633178155819080309050620000dc6040518060400160405280600b81526020017f30782050726f746f636f6c0000000000000000000000000000000000000000008152506040518060400160405280600581526020017f332e302e300000000000000000000000000000000000000000000000000000008152508584620000ea60201b62005bd81760201c565b600155506200015a92505050565b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a0902090565b60006020828403121562000153578081fd5b5051919050565b615c72806200016a6000396000f3fe6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e64565b61076a565b60405161030391906154c4565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154cf565b61034161033c366004615108565b610785565b60405161030391906156a0565b34801561035a57600080fd5b50610321610369366004614e64565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e64565b6107d9565b6103a161039c366004614f82565b6107ee565b005b6103b66103b1366004614d60565b610812565b60405161030391906159c2565b6103a16103d1366004614e64565b610939565b6103a16103e4366004614e64565b6109ac565b3480156103f557600080fd5b50610409610404366004614eed565b610ab9565b604051610303919061535b565b610429610424366004614c40565b610b07565b604051610303919061594b565b610429610444366004614c40565b610b3f565b6103a1610457366004614b2a565b610b5d565b6103b661046a366004614d60565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614ea0565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e7c565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f236600461500c565b610e2b565b60405161030391906159d0565b6103b6610512366004614d60565b610e49565b34801561052357600080fd5b506102f6610532366004615108565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614cdc565b610ebe565b60405161030391906154b1565b34801561057857600080fd5b506103a1610587366004614e64565b610fe9565b61055f61059a366004614cdc565b611031565b6103b66105ad3660046150a8565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f82565b61111d565b6040516103039190615a12565b3480156105eb57600080fd5b506102f66105fa366004614fb5565b611201565b6103b661060d366004614d60565b611226565b34801561061e57600080fd5b506103a161062d366004614b65565b61125a565b6104f761064036600461500c565b611306565b61055f610653366004614cdc565b611324565b34801561066457600080fd5b506103a1610673366004614adb565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614adb565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b604051610303919061562b565b6103a16106fd366004614c0d565b611657565b6103b66107103660046150a8565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614adb565b6116d0565b61075d610758366004614db3565b611748565b6040516103039190615433565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154cf565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154c4565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d60035482604051611024929190615543565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615914565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff90911690849061537c565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f09565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615658565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055608087015190516060913091611920919061530e565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a58565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe919061530e565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f25565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153a3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b9050600060018885858560405160008152602001604052604051612371949392919061560d565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b90506000600188604051602001612468919061532a565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051612371949392919061560d565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d619392919061589e565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156b3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c919061530e565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615658565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a43929190615551565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b92909190339061571b565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615846565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d9190615833565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e00000000000000000000000000000000000000000000000000000000906130249088908790602401615551565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc919061530e565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615767565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a83565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a4392919061537c565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a36565b606063488219a660e01b848484604051602401611d619392919061580b565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d619392919061556a565b606063f598518460e01b8383604051602401612a439291906158fd565b606063a26dac0960e01b848484604051602401611d61939291906155f7565b606063dec4aedf60e01b8383604051602401612a439291906154d8565b606063e53c76c860e01b848484604051602401611d6193929190615867565b6060632800659560e01b848484604051602401611d61939291906158ab565b9052565b6060631b8388f760e01b8585858560405160240161221e94939291906154fc565b606063fdb6ca8d60e01b8383604051602401612a43929190615595565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a43929190615543565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a4392919061537c565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb390889088906024016156f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b919061530e565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d61939291906155f7565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153a3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff168484604051614391919061530e565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153d4565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155b2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b14565b615aed565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b14565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b14565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b14565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615aed565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615aed565b91505061493b83836146d3565b815261494a83602084016146d3565b602082015261495c83604084016146d3565b604082015261496e83606084016146d3565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff808211156149d057600080fd5b6149dc8683870161488b565b838501526101609250828501359150808211156149f857600080fd5b614a048683870161488b565b83850152610180925082850135915080821115614a2057600080fd5b614a2c8683870161488b565b838501526101a0925082850135915080821115614a4857600080fd5b50614a558582860161488b565b82840152505092915050565b600060a08284031215614a72578081fd5b614a7c60a0615aed565b90508135815260208201356020820152604082013560408201526060820135614aa481615b88565b6060820152608082013567ffffffffffffffff811115614ac357600080fd5b614acf8482850161488b565b60808301525092915050565b600060208284031215614aec578081fd5b61093283836146d3565b60008060408385031215614b08578081fd5b614b1284846146d3565b9150614b2184602085016146d3565b90509250929050565b60008060408385031215614b3c578182fd5b614b4684846146d3565b915060208301358015158114614b5a578182fd5b809150509250929050565b60008060008060808587031215614b7a578182fd5b843567ffffffffffffffff80821115614b91578384fd5b614b9d8883890161476d565b95506020870135915080821115614bb2578384fd5b614bbe888389016146f7565b94506040870135915080821115614bd3578384fd5b614bdf888389016146f7565b93506060870135915080821115614bf4578283fd5b50614c018782880161482d565b91505092959194509250565b600060208284031215614c1e578081fd5b813567ffffffffffffffff811115614c34578182fd5b610b37848285016147d2565b60008060008060808587031215614c55578182fd5b843567ffffffffffffffff80821115614c6c578384fd5b614c78888389016147d2565b95506020870135915080821115614c8d578384fd5b614c99888389016147d2565b94506040870135915080821115614cae578384fd5b614cba8883890161476d565b93506060870135915080821115614ccf578283fd5b50614c018782880161476d565b600080600060608486031215614cf0578081fd5b833567ffffffffffffffff80821115614d07578283fd5b614d13878388016147d2565b94506020860135915080821115614d28578283fd5b614d348783880161482d565b93506040860135915080821115614d49578283fd5b50614d568682870161476d565b9150509250925092565b600080600060608486031215614d74578081fd5b833567ffffffffffffffff80821115614d8b578283fd5b614d97878388016147d2565b9450602086013593506040860135915080821115614d49578283fd5b60008060408385031215614dc5578182fd5b823567ffffffffffffffff80821115614ddc578384fd5b81850186601f820112614ded578485fd5b80359250614dfd61471584615b14565b83815260208082019190838101885b87811015614e3557614e238c848435890101614a61565b85529382019390820190600101614e0c565b50919750880135945050505080821115614e4d578283fd5b50614e5a8582860161476d565b9150509250929050565b600060208284031215614e75578081fd5b5035919050565b60008060408385031215614e8e578182fd5b823591506020830135614b5a81615b88565b600080600060608486031215614eb4578081fd5b833592506020840135614ec681615b88565b9150604084013567ffffffffffffffff811115614ee1578182fd5b614d568682870161488b565b600060208284031215614efe578081fd5b813561093281615baa565b600060208284031215614f1a578081fd5b815161093281615baa565b600060a0828403128015614f37578182fd5b8015614f41578182fd5b50614f4c60a0615aed565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614f93578081fd5b813567ffffffffffffffff811115614fa9578182fd5b610b3784828501614912565b60008060408385031215614fc7578182fd5b823567ffffffffffffffff80821115614fde578384fd5b614fea86838701614912565b93506020850135915080821115614fff578283fd5b50614e5a8582860161488b565b60008060008060808587031215615021578182fd5b843567ffffffffffffffff80821115615038578384fd5b61504488838901614912565b95506020870135915080821115615059578384fd5b61506588838901614912565b9450604087013591508082111561507a578384fd5b6150868883890161488b565b9350606087013591508082111561509b578283fd5b50614c018782880161488b565b6000806000606084860312156150bc578081fd5b833567ffffffffffffffff808211156150d3578283fd5b6150df87838801614912565b94506020860135935060408601359150808211156150fb578283fd5b50614d568682870161488b565b6000806040838503121561511a578182fd5b823567ffffffffffffffff80821115615131578384fd5b614fea86838701614a61565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845260208401935060208301825b828110156151935761517d8683516151e7565b60a095909501946020919091019060010161516a565b5093949350505050565b600081518084526151b5816020860160208601615b34565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c061522784845161513d565b6020830151615239602086018261513d565b50604083015161524c604086018261513d565b50606083015161525f606086018261513d565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152b88387018261519d565b915050610160915081840151858203838701526152d5828261519d565b9250505061018080840151858303828701526152f1838261519d565b9150506101a091508184015185820383870152613de2828261519d565b60008251615320818460208701615b34565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff8616825260806020830152615403608083018661519d565b8281036040840152615415818661519d565b8381036060850152615427818661519d565b98975050505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156154a4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261549285835161519d565b94509285019290850190600101615458565b5092979650505050505050565b6000602082526109326020830184615157565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff8516602083015260806040830152615531608083018561519d565b82810360608401526138a9818561519d565b918252602082015260400190565b600083825260406020830152610b37604083018461519d565b600084825260606020830152615583606083018561519d565b8281036040840152613de2818561519d565b828152604081016155a583615b7e565b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a083018461519d565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600060208252610932602083018461519d565b6000608082526156c6608083018761519d565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b600060408252615709604083018561519d565b8281036020840152610de6818561519d565b60006060825261572e606083018661519d565b8281036020840152615740818661519d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600061016080835261577b8184018f61519d565b838103602085015261578d818f61519d565b91505082810360408401526157a2818d61519d565b83810360608501526157b4818d61519d565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061581685615b60565b84825283602083015260606040830152610de6606083018461519d565b6020810161584083615b6a565b91905290565b6060810161585385615b6a565b938152602081019290925260409091015290565b6060810161587485615b74565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161585385615b74565b606081016008851061585357fe5b60006158c486615b7e565b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de2608083018461519d565b6040810161590a84615b60565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261596760a0840182615157565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159a28183615157565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c182846151e7565b6000610180820190506159e48284516151e7565b60208301516159f660a08401826151e7565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a496040830185615217565b90508260208301529392505050565b600060608252615a6b6060830186615217565b8460208401528281036040840152613de2818561519d565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615add60e084018261519d565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b0c57600080fd5b604052919050565b600067ffffffffffffffff821115615b2a578081fd5b5060209081020190565b60005b83811015615b4f578181015183820152602001615b37565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b6007811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a090209056fea365627a7a723158206fc97c5a1d6fde6b2ada9eb4429966e52d7e2da39180893c04bf55c840b346a16c6578706572696d656e74616cf564736f6c634300050c0040" }, "deployedBytecode": { - "object": "0x6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e6c565b61076a565b60405161030391906154de565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154e9565b61034161033c36600461511e565b610785565b60405161030391906156bb565b34801561035a57600080fd5b50610321610369366004614e6c565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e6c565b6107d9565b6103a161039c366004614f92565b6107ee565b005b6103b66103b1366004614d67565b610812565b60405161030391906159de565b6103a16103d1366004614e6c565b610939565b6103a16103e4366004614e6c565b6109ac565b3480156103f557600080fd5b50610409610404366004614ef9565b610ab9565b6040516103039190615374565b610429610424366004614c46565b610b07565b6040516103039190615967565b610429610444366004614c46565b610b3f565b6103a1610457366004614b2b565b610b5d565b6103b661046a366004614d67565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614eaa565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e85565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f2366004615021565b610e2b565b60405161030391906159ec565b6103b6610512366004614d67565b610e49565b34801561052357600080fd5b506102f661053236600461511e565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614ce3565b610ebe565b60405161030391906154cb565b34801561057857600080fd5b506103a1610587366004614e6c565b610fe9565b61055f61059a366004614ce3565b611031565b6103b66105ad3660046150be565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f92565b61111d565b6040516103039190615a2e565b3480156105eb57600080fd5b506102f66105fa366004614fc7565b611201565b6103b661060d366004614d67565b611226565b34801561061e57600080fd5b506103a161062d366004614b68565b61125a565b6104f7610640366004615021565b611306565b61055f610653366004614ce3565b611324565b34801561066457600080fd5b506103a1610673366004614ada565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614ada565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b6040516103039190615646565b6103a16106fd366004614c11565b611657565b6103b66107103660046150be565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614ada565b6116d0565b61075d610758366004614dba565b611748565b604051610303919061544c565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154e9565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154de565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d6003548260405161102492919061555d565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615930565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff909116908490615395565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f16565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615673565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556080870151905160609130916119209190615327565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a74565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe9190615327565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f33565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153bc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158d4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b90506000600188858585604051600081526020016040526040516123719493929190615628565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b905060006001886040516020016124689190615343565b60405160208183030381529060405280519060200120858585604051600081526020016040526040516123719493929190615628565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d61939291906158b9565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156ce565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c9190615327565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615673565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a4392919061556b565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b929091903390615736565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615861565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d919061584e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e0000000000000000000000000000000000000000000000000000000090613024908890879060240161556b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc9190615327565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615782565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a9f565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a43929190615395565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a52565b606063488219a660e01b848484604051602401611d6193929190615826565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d6193929190615584565b606063f598518460e01b8383604051602401612a43929190615919565b606063a26dac0960e01b848484604051602401611d6193929190615612565b606063dec4aedf60e01b8383604051602401612a439291906154f2565b606063e53c76c860e01b848484604051602401611d6193929190615882565b6060632800659560e01b848484604051602401611d61939291906158c6565b9052565b6060631b8388f760e01b8585858560405160240161221e9493929190615516565b606063fdb6ca8d60e01b8383604051602401612a439291906155af565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a4392919061555d565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a43929190615395565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb39088908890602401615711565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b9190615327565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d6193929190615612565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153bc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff1684846040516143919190615327565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153ed565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155cd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b30565b615b09565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b30565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b30565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b30565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615b09565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615b09565b915050600061493d84846146d3565b825261494c84602085016146d3565b602083015261495e84604085016146d3565b604083015261497084606085016146d3565b60608301526080830135608083015260a083013560a083015260c083013560c083015260e083013560e08301526101008084013581840152506101208084013581840152506101408084013567ffffffffffffffff808211156149d1578384fd5b6149dd8783880161488b565b838601526101609250828601359150808211156149f8578384fd5b614a048783880161488b565b83860152610180925082860135915080821115614a1f578384fd5b614a2b8783880161488b565b838601526101a0925082860135915080821115614a46578384fd5b50614a538682870161488b565b8285015250505092915050565b600060a08284031215614a71578081fd5b614a7b60a0615b09565b90508135815260208201356020820152604082013560408201526060820135614aa381615b9b565b6060820152608082013567ffffffffffffffff811115614ac257600080fd5b614ace8482850161488b565b60808301525092915050565b600060208284031215614aec57600080fd5b61093283836146d3565b60008060408385031215614b0957600080fd5b614b1384846146d3565b9150614b2284602085016146d3565b90509250929050565b60008060408385031215614b3e57600080fd5b614b4884846146d3565b915060208301358015158114614b5d57600080fd5b809150509250929050565b60008060008060808587031215614b7d578182fd5b843567ffffffffffffffff80821115614b94578384fd5b614ba08883890161476d565b95506020870135915080821115614bb5578384fd5b614bc1888389016146f7565b94506040870135915080821115614bd6578384fd5b614be2888389016146f7565b93506060870135915080821115614bf857600080fd5b50614c058782880161482d565b91505092959194509250565b600060208284031215614c2357600080fd5b813567ffffffffffffffff811115614c3a57600080fd5b610b37848285016147d2565b60008060008060808587031215614c5b578182fd5b843567ffffffffffffffff80821115614c72578384fd5b614c7e888389016147d2565b95506020870135915080821115614c93578384fd5b614c9f888389016147d2565b94506040870135915080821115614cb4578384fd5b614cc08883890161476d565b93506060870135915080821115614cd657600080fd5b50614c058782880161476d565b600080600060608486031215614cf7578081fd5b833567ffffffffffffffff80821115614d0e578283fd5b614d1a878388016147d2565b94506020860135915080821115614d2f578283fd5b614d3b8783880161482d565b93506040860135915080821115614d50578283fd5b50614d5d8682870161476d565b9150509250925092565b600080600060608486031215614d7b578081fd5b833567ffffffffffffffff80821115614d92578283fd5b614d9e878388016147d2565b9450602086013593506040860135915080821115614d50578283fd5b60008060408385031215614dcc578182fd5b823567ffffffffffffffff80821115614de3578384fd5b81850186601f820112614df4578485fd5b80359250614e0461471584615b30565b83815260208082019190838101885b87811015614e3c57614e2a8c848435890101614a60565b85529382019390820190600101614e13565b50919750880135945050505080821115614e5557600080fd5b50614e628582860161476d565b9150509250929050565b600060208284031215614e7e57600080fd5b5035919050565b60008060408385031215614e9857600080fd5b823591506020830135614b5d81615b9b565b600080600060608486031215614ebf57600080fd5b833592506020840135614ed181615b9b565b9150604084013567ffffffffffffffff811115614eed57600080fd5b614d5d8682870161488b565b600060208284031215614f0b57600080fd5b813561093281615bbd565b600060208284031215614f2857600080fd5b815161093281615bbd565b600060a0828403128015614f4657600080fd5b8015614f5157600080fd5b50614f5c60a0615b09565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614fa457600080fd5b813567ffffffffffffffff811115614fbb57600080fd5b610b3784828501614912565b60008060408385031215614fda57600080fd5b823567ffffffffffffffff80821115614ff257600080fd5b614ffe86838701614912565b9350602085013591508082111561501457600080fd5b50614e628582860161488b565b60008060008060808587031215615036578182fd5b843567ffffffffffffffff8082111561504d578384fd5b61505988838901614912565b9550602087013591508082111561506e578384fd5b61507a88838901614912565b9450604087013591508082111561508f578384fd5b61509b8883890161488b565b935060608701359150808211156150b157600080fd5b50614c058782880161488b565b6000806000606084860312156150d2578081fd5b833567ffffffffffffffff808211156150e9578283fd5b6150f587838801614912565b9450602086013593506040860135915080821115615111578283fd5b50614d5d8682870161488b565b6000806040838503121561513157600080fd5b823567ffffffffffffffff8082111561514957600080fd5b614ffe86838701614a60565b73ffffffffffffffffffffffffffffffffffffffff169052565b600081518084526020840193506020830160005b828110156151ac57615196868351615200565b60a0959095019460209190910190600101615183565b5093949350505050565b600081518084526151ce816020860160208601615b51565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c0615240848451615155565b60208301516152526020860182615155565b5060408301516152656040860182615155565b5060608301516152786060860182615155565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152d1838701826151b6565b915050610160915081840151858203838701526152ee82826151b6565b92505050610180808401518583038287015261530a83826151b6565b9150506101a091508184015185820383870152613de282826151b6565b60008251615339818460208701615b51565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff861682526080602083015261541c60808301866151b6565b828103604084015261542e81866151b6565b838103606085015261544081866151b6565b98975050505050505050565b600060208083018184528085518083526040860191506040848202870101925083870160005b828110156154be577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526154ac8583516151b6565b94509285019290850190600101615472565b5092979650505050505050565b600060208252610932602083018461516f565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff851660208301526080604083015261554b60808301856151b6565b82810360608401526138a981856151b6565b918252602082015260400190565b600083825260406020830152610b3760408301846151b6565b60008482526060602083015261559d60608301856151b6565b8281036040840152613de281856151b6565b82815260408101600783106155c057fe5b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a08301846151b6565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60006020825261093260208301846151b6565b6000608082526156e160808301876151b6565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b60006040825261572460408301856151b6565b8281036020840152610de681856151b6565b60006060825261574960608301866151b6565b828103602084015261575b81866151b6565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b60006101608083526157968184018f6151b6565b83810360208501526157a8818f6151b6565b91505082810360408401526157bd818d6151b6565b83810360608501526157cf818d6151b6565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061583185615b7d565b84825283602083015260606040830152610de660608301846151b6565b6020810161585b83615b87565b91905290565b6060810161586e85615b87565b938152602081019290925260409091015290565b6060810161588f85615b91565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161586e85615b91565b606081016008851061586e57fe5b6000600786106158e057fe5b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de260808301846151b6565b6040810161592684615b7d565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261598360a084018261516f565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159be818361516f565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c18284615200565b600061018082019050615a00828451615200565b6020830151615a1260a0840182615200565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a656040830185615230565b90508260208301529392505050565b600060608252615a876060830186615230565b8460208401528281036040840152613de281856151b6565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615af960e08401826151b6565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b2857600080fd5b604052919050565b600067ffffffffffffffff821115615b4757600080fd5b5060209081020190565b60005b83811015615b6c578181015183820152602001615b54565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a090209056fea365627a7a723158200ee8e24c946cd722f30bbe87701905f4bde0c0bbea668fda2eb6aaf5f8596c936c6578706572696d656e74616cf564736f6c634300050b0040" + "object": "0x6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e64565b61076a565b60405161030391906154c4565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154cf565b61034161033c366004615108565b610785565b60405161030391906156a0565b34801561035a57600080fd5b50610321610369366004614e64565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e64565b6107d9565b6103a161039c366004614f82565b6107ee565b005b6103b66103b1366004614d60565b610812565b60405161030391906159c2565b6103a16103d1366004614e64565b610939565b6103a16103e4366004614e64565b6109ac565b3480156103f557600080fd5b50610409610404366004614eed565b610ab9565b604051610303919061535b565b610429610424366004614c40565b610b07565b604051610303919061594b565b610429610444366004614c40565b610b3f565b6103a1610457366004614b2a565b610b5d565b6103b661046a366004614d60565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614ea0565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e7c565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f236600461500c565b610e2b565b60405161030391906159d0565b6103b6610512366004614d60565b610e49565b34801561052357600080fd5b506102f6610532366004615108565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614cdc565b610ebe565b60405161030391906154b1565b34801561057857600080fd5b506103a1610587366004614e64565b610fe9565b61055f61059a366004614cdc565b611031565b6103b66105ad3660046150a8565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f82565b61111d565b6040516103039190615a12565b3480156105eb57600080fd5b506102f66105fa366004614fb5565b611201565b6103b661060d366004614d60565b611226565b34801561061e57600080fd5b506103a161062d366004614b65565b61125a565b6104f761064036600461500c565b611306565b61055f610653366004614cdc565b611324565b34801561066457600080fd5b506103a1610673366004614adb565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614adb565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b604051610303919061562b565b6103a16106fd366004614c0d565b611657565b6103b66107103660046150a8565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614adb565b6116d0565b61075d610758366004614db3565b611748565b6040516103039190615433565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154cf565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154c4565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d60035482604051611024929190615543565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615914565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff90911690849061537c565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f09565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615658565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055608087015190516060913091611920919061530e565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a58565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe919061530e565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f25565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153a3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b9050600060018885858560405160008152602001604052604051612371949392919061560d565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b90506000600188604051602001612468919061532a565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051612371949392919061560d565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d619392919061589e565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156b3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c919061530e565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615658565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a43929190615551565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b92909190339061571b565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615846565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d9190615833565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e00000000000000000000000000000000000000000000000000000000906130249088908790602401615551565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc919061530e565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615767565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a83565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a4392919061537c565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a36565b606063488219a660e01b848484604051602401611d619392919061580b565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d619392919061556a565b606063f598518460e01b8383604051602401612a439291906158fd565b606063a26dac0960e01b848484604051602401611d61939291906155f7565b606063dec4aedf60e01b8383604051602401612a439291906154d8565b606063e53c76c860e01b848484604051602401611d6193929190615867565b6060632800659560e01b848484604051602401611d61939291906158ab565b9052565b6060631b8388f760e01b8585858560405160240161221e94939291906154fc565b606063fdb6ca8d60e01b8383604051602401612a43929190615595565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a43929190615543565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a4392919061537c565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb390889088906024016156f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b919061530e565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d61939291906155f7565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153a3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff168484604051614391919061530e565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153d4565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155b2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b14565b615aed565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b14565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b14565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b14565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615aed565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615aed565b91505061493b83836146d3565b815261494a83602084016146d3565b602082015261495c83604084016146d3565b604082015261496e83606084016146d3565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff808211156149d057600080fd5b6149dc8683870161488b565b838501526101609250828501359150808211156149f857600080fd5b614a048683870161488b565b83850152610180925082850135915080821115614a2057600080fd5b614a2c8683870161488b565b838501526101a0925082850135915080821115614a4857600080fd5b50614a558582860161488b565b82840152505092915050565b600060a08284031215614a72578081fd5b614a7c60a0615aed565b90508135815260208201356020820152604082013560408201526060820135614aa481615b88565b6060820152608082013567ffffffffffffffff811115614ac357600080fd5b614acf8482850161488b565b60808301525092915050565b600060208284031215614aec578081fd5b61093283836146d3565b60008060408385031215614b08578081fd5b614b1284846146d3565b9150614b2184602085016146d3565b90509250929050565b60008060408385031215614b3c578182fd5b614b4684846146d3565b915060208301358015158114614b5a578182fd5b809150509250929050565b60008060008060808587031215614b7a578182fd5b843567ffffffffffffffff80821115614b91578384fd5b614b9d8883890161476d565b95506020870135915080821115614bb2578384fd5b614bbe888389016146f7565b94506040870135915080821115614bd3578384fd5b614bdf888389016146f7565b93506060870135915080821115614bf4578283fd5b50614c018782880161482d565b91505092959194509250565b600060208284031215614c1e578081fd5b813567ffffffffffffffff811115614c34578182fd5b610b37848285016147d2565b60008060008060808587031215614c55578182fd5b843567ffffffffffffffff80821115614c6c578384fd5b614c78888389016147d2565b95506020870135915080821115614c8d578384fd5b614c99888389016147d2565b94506040870135915080821115614cae578384fd5b614cba8883890161476d565b93506060870135915080821115614ccf578283fd5b50614c018782880161476d565b600080600060608486031215614cf0578081fd5b833567ffffffffffffffff80821115614d07578283fd5b614d13878388016147d2565b94506020860135915080821115614d28578283fd5b614d348783880161482d565b93506040860135915080821115614d49578283fd5b50614d568682870161476d565b9150509250925092565b600080600060608486031215614d74578081fd5b833567ffffffffffffffff80821115614d8b578283fd5b614d97878388016147d2565b9450602086013593506040860135915080821115614d49578283fd5b60008060408385031215614dc5578182fd5b823567ffffffffffffffff80821115614ddc578384fd5b81850186601f820112614ded578485fd5b80359250614dfd61471584615b14565b83815260208082019190838101885b87811015614e3557614e238c848435890101614a61565b85529382019390820190600101614e0c565b50919750880135945050505080821115614e4d578283fd5b50614e5a8582860161476d565b9150509250929050565b600060208284031215614e75578081fd5b5035919050565b60008060408385031215614e8e578182fd5b823591506020830135614b5a81615b88565b600080600060608486031215614eb4578081fd5b833592506020840135614ec681615b88565b9150604084013567ffffffffffffffff811115614ee1578182fd5b614d568682870161488b565b600060208284031215614efe578081fd5b813561093281615baa565b600060208284031215614f1a578081fd5b815161093281615baa565b600060a0828403128015614f37578182fd5b8015614f41578182fd5b50614f4c60a0615aed565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614f93578081fd5b813567ffffffffffffffff811115614fa9578182fd5b610b3784828501614912565b60008060408385031215614fc7578182fd5b823567ffffffffffffffff80821115614fde578384fd5b614fea86838701614912565b93506020850135915080821115614fff578283fd5b50614e5a8582860161488b565b60008060008060808587031215615021578182fd5b843567ffffffffffffffff80821115615038578384fd5b61504488838901614912565b95506020870135915080821115615059578384fd5b61506588838901614912565b9450604087013591508082111561507a578384fd5b6150868883890161488b565b9350606087013591508082111561509b578283fd5b50614c018782880161488b565b6000806000606084860312156150bc578081fd5b833567ffffffffffffffff808211156150d3578283fd5b6150df87838801614912565b94506020860135935060408601359150808211156150fb578283fd5b50614d568682870161488b565b6000806040838503121561511a578182fd5b823567ffffffffffffffff80821115615131578384fd5b614fea86838701614a61565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845260208401935060208301825b828110156151935761517d8683516151e7565b60a095909501946020919091019060010161516a565b5093949350505050565b600081518084526151b5816020860160208601615b34565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c061522784845161513d565b6020830151615239602086018261513d565b50604083015161524c604086018261513d565b50606083015161525f606086018261513d565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152b88387018261519d565b915050610160915081840151858203838701526152d5828261519d565b9250505061018080840151858303828701526152f1838261519d565b9150506101a091508184015185820383870152613de2828261519d565b60008251615320818460208701615b34565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff8616825260806020830152615403608083018661519d565b8281036040840152615415818661519d565b8381036060850152615427818661519d565b98975050505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156154a4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261549285835161519d565b94509285019290850190600101615458565b5092979650505050505050565b6000602082526109326020830184615157565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff8516602083015260806040830152615531608083018561519d565b82810360608401526138a9818561519d565b918252602082015260400190565b600083825260406020830152610b37604083018461519d565b600084825260606020830152615583606083018561519d565b8281036040840152613de2818561519d565b828152604081016155a583615b7e565b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a083018461519d565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600060208252610932602083018461519d565b6000608082526156c6608083018761519d565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b600060408252615709604083018561519d565b8281036020840152610de6818561519d565b60006060825261572e606083018661519d565b8281036020840152615740818661519d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600061016080835261577b8184018f61519d565b838103602085015261578d818f61519d565b91505082810360408401526157a2818d61519d565b83810360608501526157b4818d61519d565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061581685615b60565b84825283602083015260606040830152610de6606083018461519d565b6020810161584083615b6a565b91905290565b6060810161585385615b6a565b938152602081019290925260409091015290565b6060810161587485615b74565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161585385615b74565b606081016008851061585357fe5b60006158c486615b7e565b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de2608083018461519d565b6040810161590a84615b60565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261596760a0840182615157565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159a28183615157565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c182846151e7565b6000610180820190506159e48284516151e7565b60208301516159f660a08401826151e7565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a496040830185615217565b90508260208301529392505050565b600060608252615a6b6060830186615217565b8460208401528281036040840152613de2818561519d565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615add60e084018261519d565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b0c57600080fd5b604052919050565b600067ffffffffffffffff821115615b2a578081fd5b5060209081020190565b60005b83811015615b4f578181015183820152602001615b37565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b6007811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a090209056fea365627a7a723158206fc97c5a1d6fde6b2ada9eb4429966e52d7e2da39180893c04bf55c840b346a16c6578706572696d656e74616cf564736f6c634300050c0040" } } }, "compiler": { "name": "solc", - "version": "soljson-v0.5.11+commit.c082d0b4.js", + "version": "soljson-v0.5.12+commit.7709ece9.js", "settings": { "optimizer": { "enabled": true, diff --git a/packages/contract-artifacts/artifacts/Forwarder.json b/packages/contract-artifacts/artifacts/Forwarder.json index 1d78b47d8c..2aef5eb52b 100644 --- a/packages/contract-artifacts/artifacts/Forwarder.json +++ b/packages/contract-artifacts/artifacts/Forwarder.json @@ -4,35 +4,24 @@ "compilerOutput": { "abi": [ { - "constant": false, - "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], - "name": "approveMakerAssetProxy", - "outputs": [], + "inputs": [ + { "internalType": "address", "name": "_exchange", "type": "address" }, + { "internalType": "bytes", "name": "_wethAssetData", "type": "bytes" } + ], "payable": false, "stateMutability": "nonpayable", - "type": "function" + "type": "constructor" }, + { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "constant": false, - "inputs": [ - { "internalType": "bytes", "name": "assetData", "type": "bytes" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "withdrawAsset", + "inputs": [{ "internalType": "bytes", "name": "assetData", "type": "bytes" }], + "name": "approveMakerAssetProxy", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": false, "inputs": [ @@ -110,6 +99,15 @@ "stateMutability": "payable", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": false, "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], @@ -120,15 +118,17 @@ "type": "function" }, { + "constant": false, "inputs": [ - { "internalType": "address", "name": "_exchange", "type": "address" }, - { "internalType": "bytes", "name": "_wethAssetData", "type": "bytes" } + { "internalType": "bytes", "name": "assetData", "type": "bytes" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } ], + "name": "withdrawAsset", + "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "constructor" - }, - { "payable": true, "stateMutability": "payable", "type": "fallback" } + "type": "function" + } ], "devdoc": { "methods": { @@ -168,16 +168,16 @@ }, "evm": { "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040516200266b3803806200266b83398101604081905262000034916200043c565b60008054336001600160a01b031991821617909155600180549091166001600160a01b038416179055805182908290620000769060039060208401906200035c565b506000620000946010836200024e60201b6200070a1790919060201c565b600280546001600160a01b0319166001600160a01b03928316179055600154604051600095509116925063607041089150620000d0906200053b565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825262000110916004016200057d565b60206040518083038186803b1580156200012957600080fd5b505afa1580156200013e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000164919081019062000416565b90506001600160a01b0381166200019f576200019f6200018e6200029a60201b620006b01760201c565b620002e060201b620001f61760201c565b6002546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063095ea7b390620001ee9084906000199060040162000564565b602060405180830381600087803b1580156200020957600080fd5b505af11580156200021e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000244919081019062000517565b50505050620005cd565b600081601401835110156200027e576200027e6200018e6004855185601401620002e860201b62000dd21760201c565b5060148183018101519101906001600160a01b03165b92915050565b6040805160048152602481019091526020810180516001600160e01b03167ff3b96b8d000000000000000000000000000000000000000000000000000000001790525b90565b805160208201fd5b6060632800659560e01b8484846040516024016200030993929190620005aa565b60408051601f198184030181529190526020810180516001600160e01b03167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200039f57805160ff1916838001178555620003cf565b82800160010185558215620003cf579182015b82811115620003cf578251825591602001919060010190620003b2565b50620003dd929150620003e1565b5090565b620002dd91905b80821115620003dd5760008155600101620003e8565b80516001600160a01b03811681146200029457600080fd5b6000602082840312156200042957600080fd5b620004358383620003fe565b9392505050565b600080604083850312156200044f578081fd5b6200045b8484620003fe565b602084810151919350906001600160401b03808211156200047a578384fd5b81860187601f8201126200048c578485fd5b80519250818311156200049d578485fd5b604051601f8401601f1916810185018381118282101715620004bd578687fd5b6040528381528184018501891015620004d4578586fd5b8592505b83831015620004f75781830185015181840186015291840191620004d8565b838311156200050857858585830101525b80955050505050509250929050565b6000602082840312156200052a57600080fd5b815180151581146200043557600080fd5b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b6001600160a01b03929092168252602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6060810160088510620005b957fe5b938152602081019290925260409091015290565b61208e80620005dd6000396000f3fe6080604052600436106100655760003560e01c8063942d33c011610043578063942d33c014610102578063ae93b97a14610124578063f2fde38b1461013757610065565b8063442026ed14610097578063630f1e6c146100b75780638da5cb5b146100d7575b60025473ffffffffffffffffffffffffffffffffffffffff1633146100955761009561009033610157565b6101f6565b005b3480156100a357600080fd5b506100956100b2366004611b5e565b6101fe565b3480156100c357600080fd5b506100956100d2366004611ba0565b6104a8565b3480156100e357600080fd5b506100ec6104f1565b6040516100f99190611ce7565b60405180910390f35b610115610110366004611ab3565b61050d565b6040516100f993929190611f9b565b610115610132366004611a36565b610565565b34801561014357600080fd5b506100956101523660046119fc565b6105e3565b60606308b1869860e01b826040516024016101729190611ce7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600061024a600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff61065a169050565b905060405161025890611cbe565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104a35760015460405160009173ffffffffffffffffffffffffffffffffffffffff16906360704108906102d490611cbe565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261031291600401611d86565b60206040518083038186803b15801561032a57600080fd5b505afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103629190810190611a19565b905073ffffffffffffffffffffffffffffffffffffffff811661038a5761038a6100906106b0565b60006103d6601086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff61070a169050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b39061044d9085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401611d08565b602060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061049f9190810190611b3c565b5050505b505050565b6104b061074a565b6104a383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250610793915050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061051a61087e565b610525888888610913565b9093509150610535838686610a9b565b905061055a8860008151811061054757fe5b6020026020010151610140015183610793565b955095509592505050565b600080600061057261087e565b6000610596670de0b6b3a7640000610590888263ffffffff610c3a16565b34610c5d565b90506105a3888289610c87565b90945092506105b3848787610a9b565b91506105d8886000815181106105c557fe5b6020026020010151610140015184610793565b509450945094915050565b6105eb61074a565b73ffffffffffffffffffffffffffffffffffffffff811661061657610611610090610d9b565b610657565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000816004018351101561067b5761067b6100906003855185600401610dd2565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff3b96b8d0000000000000000000000000000000000000000000000000000000017905290565b6000816014018351101561072b5761072b6100906004855185601401610dd2565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610791576000546107919061009090339073ffffffffffffffffffffffffffffffffffffffff16610e77565b565b60006107a5838263ffffffff61065a16565b90506040516107b390611cbe565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561080f5761080a8383610f19565b6104a3565b60405161081b90611c6c565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156108725761080a8383611081565b6104a36100908261114e565b3461088e5761088e610090611169565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b5050505050565b82516000908190815b818114610a7c576109678760008151811061093357fe5b6020026020010151610140015188838151811061094c57fe5b602002602001015161014001516111c390919063ffffffff16565b6109a9576109a96100908860008151811061097e57fe5b6020026020010151610140015189848151811061099757fe5b602002602001015161014001516111e9565b8681815181106109b557fe5b602002602001015160800151600014806109e657508681815181106109d657fe5b602002602001015160a001516000145b156109f057610a74565b6000610a02878563ffffffff61120616565b9050600080610a388a8581518110610a1657fe5b6020026020010151898681518110610a2a57fe5b602002602001015185611225565b9092509050610a4d878363ffffffff610c3a16565b9650610a5f868263ffffffff610c3a16565b9550888610610a7057505050610a7c565b5050505b60010161091c565b5084821015610a9257610a92610090868461134e565b50935093915050565b600066b1a2bc2ec50000831115610ab857610ab86100908461136b565b34841115610acd57610acd6100908534611386565b6000610adf348663ffffffff61120616565b9050610af484670de0b6b3a764000087610c5d565b915080821115610b0b57610b0b61009083836113a3565b8015610c32576002546040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90610b67908490600401611f84565b600060405180830381600087803b158015610b8157600080fd5b505af1158015610b95573d6000803e3d6000fd5b505050506000821115610be75760405173ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610be5573d6000803e3d6000fd5b505b6000610bf9828463ffffffff61120616565b90508015610c3057604051339082156108fc029083906000818181858888f19350505050158015610c2e573d6000803e3d6000fd5b505b505b509392505050565b600082820183811015610c5657610c56610090600086866113c0565b9392505050565b6000610c7f83610c73868563ffffffff6113df16565b9063ffffffff61141016565b949350505050565b82516000908190815b818114610d9157610ca78760008151811061093357fe5b610cbe57610cbe6100908860008151811061097e57fe5b868181518110610cca57fe5b60200260200101516080015160001480610cfb5750868181518110610ceb57fe5b602002602001015160a001516000145b15610d0557610d89565b6000610d17878663ffffffff61120616565b9050600080610d4d8a8581518110610d2b57fe5b6020026020010151898681518110610d3f57fe5b60200260200101518561143a565b9092509050610d62878363ffffffff610c3a16565b9650610d74868263ffffffff610c3a16565b9550888710610d8557505050610d91565b5050505b600101610c90565b5050935093915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b6060632800659560e01b848484604051602401610df193929190611e16565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6060631de45ad160e01b8383604051602401610e94929190611d2e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b6000610f2c83601063ffffffff61070a16565b9050600060608273ffffffffffffffffffffffffffffffffffffffff16604051610f5590611c95565b60405180910390203386604051602401610f70929190611d08565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ff99190611c50565b6000604051808303816000865af19150503d8060008114611036576040519150601f19603f3d011682016040523d82523d6000602084013e61103b565b606091505b50915091508161105157611051610090826114e9565b3d15611070576000915060203d14156110705760206000803e60005191505b8161090c5761090c610090826114e9565b806001146110955761109561009082611504565b60006110a883601063ffffffff61070a16565b905060006110bd84602463ffffffff61151f16565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906323b872dd9061111690309033908690600401611d55565b600060405180830381600087803b15801561113057600080fd5b505af1158015611144573d6000803e3d6000fd5b5050505050505050565b6060637996a27160e01b826040516024016101729190611d86565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1213e1d60000000000000000000000000000000000000000000000000000000017905290565b600081518351148015610c56575081805190602001208380519060200120149392505050565b60606356677f2c60e01b8383604051602401610e94929190611dc6565b60008282111561121f5761121f610090600285856113c0565b50900390565b6000808460e001516000148061125157506101608501516101a08601516112519163ffffffff6111c316565b156112ab57600061126b8660a0015187608001518661152b565b90506112756116bf565b611280878388611561565b905061129d81606001518260200151610c3a90919063ffffffff16565b905190935091506113469050565b6101408501516101a08601516112c69163ffffffff6111c316565b156113355760006112f68660a001516112f08860e00151896080015161120690919063ffffffff16565b8661152b565b90506113006116bf565b61130b878388611561565b60208101516060820151825191965091925061132c9163ffffffff61120616565b92505050611346565b611346610090866101a0015161167a565b935093915050565b60606391353a0c60e01b8383604051602401610e94929190611f8d565b6060631174fb8060e01b826040516024016101729190611f84565b6060635cc555c860e01b8383604051602401610e94929190611f8d565b606063ecf40fd960e01b8383604051602401610e94929190611f8d565b606063e946c1bb60e01b848484604051602401610df193929190611df4565b6000826113ee575060006106aa565b828202828482816113fb57fe5b0414610c5657610c56610090600186866113c0565b60008161142657611426610090600385856113c0565b600082848161143157fe5b04949350505050565b6000808460e001516000148061146657506101408501516101a08601516114669163ffffffff6111c316565b156114a7576114736116bf565b61147e868587611561565b60208101516060820151825191955091925061149f9163ffffffff61120616565b915050611346565b6101608501516101a08601516114c29163ffffffff6111c316565b156113355760a085015160e086015160009161126b916112f090829063ffffffff610c3a16565b6060635e7eb60f60e01b826040516024016101729190611db3565b606063baffa47460e01b826040516024016101729190611f84565b6000610c568383611695565b6000610c7f83610c7361154582600163ffffffff61120616565b611555888763ffffffff6113df16565b9063ffffffff610c3a16565b6115696116bf565b6040516060907f9b44d55600000000000000000000000000000000000000000000000000000000906115a390879087908790602401611e24565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092178252600154815191935073ffffffffffffffffffffffffffffffffffffffff169160809184916000855af18015610c2e57825184526020830151602085015260408301516040850152606083015160608501525050509392505050565b60606331360af160e01b826040516024016101729190611db3565b600081602001835110156116b6576116b66100906005855185602001610dd2565b50016020015190565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b80356106aa81612029565b600082601f830112611709578081fd5b813561171c61171782611fd8565b611fb1565b8181529150602080830190840160005b83811015611759576117448760208435890101611975565b8352602092830192919091019060010161172c565b5050505092915050565b600082601f830112611773578081fd5b813561178161171782611fd8565b81815291506020808301908481016000805b8582101561192057823588016101c0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838d030112156117d2578283fd5b6117db81611fb1565b6117e78c8885016116ee565b81526117f68c604085016116ee565b878201526118078c606085016116ee565b60408201526118198c608085016116ee565b606082015260a0830135608082015260c083013560a082015260e083013560c08201526101008084013560e08301526101208085013582840152610140915081850135818401525061016084013567ffffffffffffffff8082111561187c578687fd5b61188a8f8b84890101611975565b838501526101809250828601359150808211156118a5578687fd5b6118b38f8b84890101611975565b6101608501526101a08601359150808211156118cd578687fd5b6118db8f8b84890101611975565b83850152848601359250808311156118f1578687fd5b50506119018d8983870101611975565b6101a08301525087525050938301939183019160019190910190611793565b50505050505092915050565b60008083601f84011261193e57600080fd5b50813567ffffffffffffffff81111561195657600080fd5b60208301915083602082850101111561196e57600080fd5b9250929050565b600082601f830112611985578081fd5b813567ffffffffffffffff81111561199b578182fd5b6119cc60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611fb1565b91508082528360208285010111156119e357600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611a0e57600080fd5b8135610c5681612029565b600060208284031215611a2b57600080fd5b8151610c5681612029565b60008060008060808587031215611a4b578283fd5b843567ffffffffffffffff80821115611a62578485fd5b611a6e88838901611763565b95506020870135915080821115611a83578485fd5b50611a90878288016116f9565b935050604085013591506060850135611aa881612029565b939692955090935050565b600080600080600060a08688031215611aca578081fd5b853567ffffffffffffffff80821115611ae1578283fd5b611aed89838a01611763565b9650602088013595506040880135915080821115611b09578283fd5b50611b16888289016116f9565b935050606086013591506080860135611b2e81612029565b809150509295509295909350565b600060208284031215611b4e57600080fd5b81518015158114610c5657600080fd5b60008060208385031215611b7157600080fd5b823567ffffffffffffffff811115611b8857600080fd5b611b948582860161192c565b90969095509350505050565b600080600060408486031215611bb557600080fd5b833567ffffffffffffffff811115611bcc57600080fd5b611bd88682870161192c565b909790965060209590950135949350505050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611c1e816020860160208601611ff9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251611c62818460208701611ff9565b9190910192915050565b7f455243373231546f6b656e28616464726573732c75696e7432353629000000008152601c0190565b7f7472616e7366657228616464726573732c75696e743235362900000000000000815260190190565b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610c566020830184611c06565b600060408252611dd96040830185611c06565b8281036020840152611deb8185611c06565b95945050505050565b6060810160048510611e0257fe5b938152602081019290925260409091015290565b6060810160088510611e0257fe5b6000606082526101c0611e3b606084018751611bec565b6020860151611e4d6080850182611bec565b506040860151611e6060a0850182611bec565b506060860151611e7360c0850182611bec565b50608086015160e084015260a0860151610100818186015260c08801519150610120828187015260e089015192506101408381880152828a0151935061016092508383880152818a0151935061018091508382880152808a01519350506101a08481880152611ee6610220880185611c06565b838b015194507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09350838882030186890152611f228186611c06565b955050818a0151935082878603016101e0880152611f408585611c06565b908a0151878203840161020089015294509050611f5d8185611c06565b925050508560208501528381036040850152611f798186611c06565b979650505050505050565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff81118282101715611fd057600080fd5b604052919050565b600067ffffffffffffffff821115611fef57600080fd5b5060209081020190565b60005b83811015612014578181015183820152602001611ffc565b83811115612023576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461065757600080fdfea365627a7a72315820db2f1b7ebe1fc58ec155124eeb6a8f31116337029f3ae90db6b035c8684879256c6578706572696d656e74616cf564736f6c634300050b0040" + "object": "0x60806040523480156200001157600080fd5b50604051620028673803806200286783398101604081905262000034916200058f565b60008054336001600160a01b031991821617909155600180549091166001600160a01b03841617905580518290829062000076906003906020840190620004b0565b50600062000094601083620003a260201b620006c41790919060201c565b600280546001600160a01b0319166001600160a01b03928316179055600154604051600095509116925063607041089150620000d0906200068c565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1682526200011091600401620006ce565b60206040518083038186803b1580156200012957600080fd5b505afa1580156200013e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200016491908101906200056a565b90506001600160a01b0381166200019f576200019f6200018e620003ee60201b6200066a1760201c565b6200043460201b620001f61760201c565b6002546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063095ea7b390620001ee90849060001990600401620006b5565b602060405180830381600087803b1580156200020957600080fd5b505af11580156200021e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200024491908101906200066a565b50600154604080517f850a150100000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163850a1501916004808301926020929190829003018186803b158015620002a457600080fd5b505afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620002df91908101906200056a565b90506001600160a01b0381161562000398576002546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063095ea7b3906200034090849060001990600401620006b5565b602060405180830381600087803b1580156200035b57600080fd5b505af115801562000370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200039691908101906200066a565b505b505050506200071e565b60008160140183511015620003d257620003d26200018e60048551856014016200043c60201b62000dd61760201c565b5060148183018101519101906001600160a01b03165b92915050565b6040805160048152602481019091526020810180516001600160e01b03167ff3b96b8d000000000000000000000000000000000000000000000000000000001790525b90565b805160208201fd5b6060632800659560e01b8484846040516024016200045d93929190620006fb565b60408051601f198184030181529190526020810180516001600160e01b03167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004f357805160ff191683800117855562000523565b8280016001018555821562000523579182015b828111156200052357825182559160200191906001019062000506565b506200053192915062000535565b5090565b6200043191905b808211156200053157600081556001016200053c565b80516001600160a01b0381168114620003e857600080fd5b6000602082840312156200057c578081fd5b62000588838362000552565b9392505050565b60008060408385031215620005a2578081fd5b620005ae848462000552565b602084810151919350906001600160401b0380821115620005cd578384fd5b81860187601f820112620005df578485fd5b8051925081831115620005f0578485fd5b604051601f8401601f191681018501838111828210171562000610578687fd5b604052838152818401850189101562000627578586fd5b8592505b838310156200064a57818301850151818401860152918401916200062b565b838311156200065b57858585830101525b80955050505050509250929050565b6000602082840312156200067c578081fd5b8151801515811462000588578182fd5b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b6001600160a01b03929092168252602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60608101600885106200070a57fe5b938152602081019290925260409091015290565b612139806200072e6000396000f3fe6080604052600436106100655760003560e01c8063942d33c011610043578063942d33c014610102578063ae93b97a14610124578063f2fde38b1461013757610065565b8063442026ed14610097578063630f1e6c146100b75780638da5cb5b146100d7575b60025473ffffffffffffffffffffffffffffffffffffffff1633146100955761009561009033610157565b6101f6565b005b3480156100a357600080fd5b506100956100b2366004611bc6565b6101fe565b3480156100c357600080fd5b506100956100d2366004611c06565b6104a8565b3480156100e357600080fd5b506100ec6104f1565b6040516100f99190611dc0565b60405180910390f35b610115610110366004611b1d565b61050d565b6040516100f993929190612047565b610115610132366004611aa0565b610542565b34801561014357600080fd5b50610095610152366004611a68565b61059d565b60606308b1869860e01b826040516024016101729190611dc0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600061024a600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff610614169050565b905060405161025890611d97565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104a35760015460405160009173ffffffffffffffffffffffffffffffffffffffff16906360704108906102d490611d97565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261031291600401611e5f565b60206040518083038186803b15801561032a57600080fd5b505afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103629190810190611a84565b905073ffffffffffffffffffffffffffffffffffffffff811661038a5761038a61009061066a565b60006103d6601086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff6106c4169050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b39061044d9085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401611de1565b602060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061049f9190810190611ba6565b5050505b505050565b6104b0610704565b6104a383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525085925061074d915050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061051a610838565b6105258888886108cd565b90935091506105358386866109f0565b9050955095509592505050565b600080600061054f610838565b6000610573670de0b6b3a764000061056d888263ffffffff610b8f16565b34610bb2565b9050610580888289610bdc565b90945092506105908487876109f0565b9150509450945094915050565b6105a5610704565b73ffffffffffffffffffffffffffffffffffffffff81166105d0576105cb610090610d9f565b610611565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b60008160040183511015610635576106356100906003855185600401610dd6565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff3b96b8d0000000000000000000000000000000000000000000000000000000017905290565b600081601401835110156106e5576106e56100906004855185601401610dd6565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461074b5760005461074b9061009090339073ffffffffffffffffffffffffffffffffffffffff16610e7b565b565b600061075f838263ffffffff61061416565b905060405161076d90611d97565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156107c9576107c48383610f1d565b6104a3565b6040516107d590611d45565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561082c576107c48383611085565b6104a361009082611152565b346108485761084861009061116d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b5050505050565b82516000908190815b8181146109d1578681815181106108e957fe5b6020026020010151608001516000148061091a575086818151811061090a57fe5b602002602001015160a001516000145b15610924576109c9565b6000610936878563ffffffff6111c716565b905060008061096c8a858151811061094a57fe5b602002602001015189868151811061095e57fe5b6020026020010151856111e6565b915091506109928a858151811061097f57fe5b602002602001015161014001518261074d565b6109a2878363ffffffff610b8f16565b96506109b4868263ffffffff610b8f16565b95508886106109c5575050506109d1565b5050505b6001016108d6565b50848210156109e7576109e76100908684611339565b50935093915050565b600066b1a2bc2ec50000831115610a0d57610a0d61009084611356565b34841115610a2257610a226100908534611371565b6000610a34348663ffffffff6111c716565b9050610a4984670de0b6b3a764000087610bb2565b915080821115610a6057610a60610090838361138e565b8015610b87576002546040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90610abc908490600401612030565b600060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506000821115610b3c5760405173ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610b3a573d6000803e3d6000fd5b505b6000610b4e828463ffffffff6111c716565b90508015610b8557604051339082156108fc029083906000818181858888f19350505050158015610b83573d6000803e3d6000fd5b505b505b509392505050565b600082820183811015610bab57610bab610090600086866113ab565b9392505050565b6000610bd483610bc8868563ffffffff6113ca16565b9063ffffffff6113fb16565b949350505050565b6000806000855190506000610c97600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5257600080fd5b505afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c8a9190810190611cad565b3a9063ffffffff6113ca16565b905060005b828114610d9457878181518110610caf57fe5b60200260200101516080015160001480610ce05750878181518110610cd057fe5b602002602001015160a001516000145b15610cea57610d8c565b6000610d0c83610d008a8963ffffffff6111c716565b9063ffffffff6111c716565b9050600080610d428b8581518110610d2057fe5b60200260200101518a8681518110610d3457fe5b602002602001015185611425565b91509150610d558b858151811061097f57fe5b610d65888363ffffffff610b8f16565b9750610d77878263ffffffff610b8f16565b9650898810610d8857505050610d94565b5050505b600101610c9c565b505050935093915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b6060632800659560e01b848484604051602401610df593929190611ec1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6060631de45ad160e01b8383604051602401610e98929190611e07565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b6000610f3083601063ffffffff6106c416565b9050600060608273ffffffffffffffffffffffffffffffffffffffff16604051610f5990611d6e565b60405180910390203386604051602401610f74929190611de1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ffd9190611d29565b6000604051808303816000865af19150503d806000811461103a576040519150601f19603f3d011682016040523d82523d6000602084013e61103f565b606091505b50915091508161105557611055610090826114ea565b3d15611074576000915060203d14156110745760206000803e60005191505b816108c6576108c6610090826114ea565b806001146110995761109961009082611505565b60006110ac83601063ffffffff6106c416565b905060006110c184602463ffffffff61152016565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906323b872dd9061111a90309033908690600401611e2e565b600060405180830381600087803b15801561113457600080fd5b505af1158015611148573d6000803e3d6000fd5b5050505050505050565b6060637996a27160e01b826040516024016101729190611e5f565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8c0e562b0000000000000000000000000000000000000000000000000000000017905290565b6000828211156111e0576111e0610090600285856113ab565b50900390565b6000808460e001516000148061121257506101608501516101a08601516112129163ffffffff61152c16565b1561128057600061122c8660a00151876080015186611552565b905061123661172e565b61124187838861157c565b9050611272816080015161126683606001518460200151610b8f90919063ffffffff16565b9063ffffffff610b8f16565b905190935091506113319050565b6101408501516101a086015161129b9163ffffffff61152c16565b156113205760006112cb8660a001516112c58860e0015189608001516111c790919063ffffffff16565b86611552565b90506112d561172e565b6112e087838861157c565b90506112fd81608001518260200151610b8f90919063ffffffff16565b60608201518251919550611317919063ffffffff6111c716565b92505050611331565b611331610090866101a001516116e9565b935093915050565b60606391353a0c60e01b8383604051602401610e98929190612039565b6060631174fb8060e01b826040516024016101729190612030565b606063cdcbed5d60e01b8383604051602401610e98929190612039565b606063ecf40fd960e01b8383604051602401610e98929190612039565b606063e946c1bb60e01b848484604051602401610df593929190611e9f565b6000826113d957506000610664565b828202828482816113e657fe5b0414610bab57610bab610090600186866113ab565b60008161141157611411610090600385856113ab565b600082848161141c57fe5b04949350505050565b6000808460e001516000148061145157506101408501516101a08601516114519163ffffffff61152c16565b156114a85761145e61172e565b61146986858761157c565b905061148681608001518260200151610b8f90919063ffffffff16565b606082015182519194506114a0919063ffffffff6111c716565b915050611331565b6101608501516101a08601516114c39163ffffffff61152c16565b156113205760a085015160e086015160009161122c916112c590829063ffffffff610b8f16565b6060635e7eb60f60e01b826040516024016101729190611e8c565b606063baffa47460e01b826040516024016101729190612030565b6000610bab8383611704565b600081518351148015610bab575081805190602001208380519060200120149392505050565b6000610bd483610bc861156c82600163ffffffff6111c716565b611266888763ffffffff6113ca16565b61158461172e565b6040516060907f9b44d55600000000000000000000000000000000000000000000000000000000906115be90879087908790602401611ecf565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252600154915190925073ffffffffffffffffffffffffffffffffffffffff90911690600090606090839061166f908690611d29565b6000604051808303816000865af19150503d80600081146116ac576040519150601f19603f3d011682016040523d82523d6000602084013e6116b1565b606091505b509150915081156116de57805160a0146116c757fe5b808060200190516116db9190810190611c50565b94505b505050509392505050565b60606331360af160e01b826040516024016101729190611e8c565b60008160200183511015611725576117256100906005855185602001610dd6565b50016020015190565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8035610664816120d4565b600082601f830112611778578081fd5b813561178b61178682612084565b61205d565b8181529150602080830190840160005b838110156117c8576117b387602084358901016119e1565b8352602092830192919091019060010161179b565b5050505092915050565b600082601f8301126117e2578081fd5b81356117f061178682612084565b818152915060208083019084810160005b8481101561198f57813587016101c0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561184157600080fd5b61184a8161205d565b6118568b87850161175d565b81526118658b6040850161175d565b868201526118768b6060850161175d565b60408201526118888b6080850161175d565b606082015260a0830135608082015260c083013560a082015260e083013560c08201526101008084013560e0830152610120808501358284015261014091508185013581840152506101608085013567ffffffffffffffff808211156118ed57600080fd5b6118fb8f8b848a01016119e1565b8486015261018093508387013591508082111561191757600080fd5b6119258f8b848a01016119e1565b838601526101a092508287013591508082111561194157600080fd5b61194f8f8b848a01016119e1565b848601528587013593508084111561196657600080fd5b50506119768d89848801016119e1565b9083015250865250509282019290820190600101611801565b505050505092915050565b60008083601f8401126119ab578182fd5b50813567ffffffffffffffff8111156119c2578182fd5b6020830191508360208285010111156119da57600080fd5b9250929050565b600082601f8301126119f1578081fd5b813567ffffffffffffffff811115611a07578182fd5b611a3860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161205d565b9150808252836020828501011115611a4f57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611a79578081fd5b8135610bab816120d4565b600060208284031215611a95578081fd5b8151610bab816120d4565b60008060008060808587031215611ab5578283fd5b843567ffffffffffffffff80821115611acc578485fd5b611ad8888389016117d2565b95506020870135915080821115611aed578485fd5b50611afa87828801611768565b935050604085013591506060850135611b12816120d4565b939692955090935050565b600080600080600060a08688031215611b34578081fd5b853567ffffffffffffffff80821115611b4b578283fd5b611b5789838a016117d2565b9650602088013595506040880135915080821115611b73578283fd5b50611b8088828901611768565b935050606086013591506080860135611b98816120d4565b809150509295509295909350565b600060208284031215611bb7578081fd5b81518015158114610bab578182fd5b60008060208385031215611bd8578182fd5b823567ffffffffffffffff811115611bee578283fd5b611bfa8582860161199a565b90969095509350505050565b600080600060408486031215611c1a578283fd5b833567ffffffffffffffff811115611c30578384fd5b611c3c8682870161199a565b909790965060209590950135949350505050565b600060a0828403128015611c62578182fd5b8015611c6c578182fd5b50611c7760a061205d565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215611cbe578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611cf78160208601602086016120a4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251611d3b8184602087016120a4565b9190910192915050565b7f455243373231546f6b656e28616464726573732c75696e7432353629000000008152601c0190565b7f7472616e7366657228616464726573732c75696e743235362900000000000000815260190190565b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610bab6020830184611cdf565b6060810160048510611ead57fe5b938152602081019290925260409091015290565b6060810160088510611ead57fe5b600060608252611ee3606083018651611cc5565b6020850151611ef56080840182611cc5565b506040850151611f0860a0840182611cc5565b506060850151611f1b60c0840182611cc5565b50608085015160e083015260a0850151610100818185015260c08701519150610120828186015260e0880151925061014083818701528289015193506101609250838387015281890151935061018091508382870152808901519350506101c06101a08181880152611f91610220880186611cdf565b848b015195507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09450848882030183890152611fcd8187611cdf565b925050828a0151945083878303016101e0880152611feb8286611cdf565b9250808a015194505050818582030161020086015261200a8184611cdf565b91505085602085015283810360408501526120258186611cdf565b979650505050505050565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561207c57600080fd5b604052919050565b600067ffffffffffffffff82111561209a578081fd5b5060209081020190565b60005b838110156120bf5781810151838201526020016120a7565b838111156120ce576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461061157600080fdfea365627a7a72315820afeb88c9cc19090963cb885eb76d709ca1a151f8f73996031898e2b50578a89b6c6578706572696d656e74616cf564736f6c634300050c0040" }, "deployedBytecode": { - "object": "0x6080604052600436106100655760003560e01c8063942d33c011610043578063942d33c014610102578063ae93b97a14610124578063f2fde38b1461013757610065565b8063442026ed14610097578063630f1e6c146100b75780638da5cb5b146100d7575b60025473ffffffffffffffffffffffffffffffffffffffff1633146100955761009561009033610157565b6101f6565b005b3480156100a357600080fd5b506100956100b2366004611b5e565b6101fe565b3480156100c357600080fd5b506100956100d2366004611ba0565b6104a8565b3480156100e357600080fd5b506100ec6104f1565b6040516100f99190611ce7565b60405180910390f35b610115610110366004611ab3565b61050d565b6040516100f993929190611f9b565b610115610132366004611a36565b610565565b34801561014357600080fd5b506100956101523660046119fc565b6105e3565b60606308b1869860e01b826040516024016101729190611ce7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600061024a600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff61065a169050565b905060405161025890611cbe565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104a35760015460405160009173ffffffffffffffffffffffffffffffffffffffff16906360704108906102d490611cbe565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261031291600401611d86565b60206040518083038186803b15801561032a57600080fd5b505afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103629190810190611a19565b905073ffffffffffffffffffffffffffffffffffffffff811661038a5761038a6100906106b0565b60006103d6601086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff61070a169050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b39061044d9085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401611d08565b602060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061049f9190810190611b3c565b5050505b505050565b6104b061074a565b6104a383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250610793915050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061051a61087e565b610525888888610913565b9093509150610535838686610a9b565b905061055a8860008151811061054757fe5b6020026020010151610140015183610793565b955095509592505050565b600080600061057261087e565b6000610596670de0b6b3a7640000610590888263ffffffff610c3a16565b34610c5d565b90506105a3888289610c87565b90945092506105b3848787610a9b565b91506105d8886000815181106105c557fe5b6020026020010151610140015184610793565b509450945094915050565b6105eb61074a565b73ffffffffffffffffffffffffffffffffffffffff811661061657610611610090610d9b565b610657565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000816004018351101561067b5761067b6100906003855185600401610dd2565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff3b96b8d0000000000000000000000000000000000000000000000000000000017905290565b6000816014018351101561072b5761072b6100906004855185601401610dd2565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610791576000546107919061009090339073ffffffffffffffffffffffffffffffffffffffff16610e77565b565b60006107a5838263ffffffff61065a16565b90506040516107b390611cbe565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561080f5761080a8383610f19565b6104a3565b60405161081b90611c6c565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156108725761080a8383611081565b6104a36100908261114e565b3461088e5761088e610090611169565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b5050505050565b82516000908190815b818114610a7c576109678760008151811061093357fe5b6020026020010151610140015188838151811061094c57fe5b602002602001015161014001516111c390919063ffffffff16565b6109a9576109a96100908860008151811061097e57fe5b6020026020010151610140015189848151811061099757fe5b602002602001015161014001516111e9565b8681815181106109b557fe5b602002602001015160800151600014806109e657508681815181106109d657fe5b602002602001015160a001516000145b156109f057610a74565b6000610a02878563ffffffff61120616565b9050600080610a388a8581518110610a1657fe5b6020026020010151898681518110610a2a57fe5b602002602001015185611225565b9092509050610a4d878363ffffffff610c3a16565b9650610a5f868263ffffffff610c3a16565b9550888610610a7057505050610a7c565b5050505b60010161091c565b5084821015610a9257610a92610090868461134e565b50935093915050565b600066b1a2bc2ec50000831115610ab857610ab86100908461136b565b34841115610acd57610acd6100908534611386565b6000610adf348663ffffffff61120616565b9050610af484670de0b6b3a764000087610c5d565b915080821115610b0b57610b0b61009083836113a3565b8015610c32576002546040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90610b67908490600401611f84565b600060405180830381600087803b158015610b8157600080fd5b505af1158015610b95573d6000803e3d6000fd5b505050506000821115610be75760405173ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610be5573d6000803e3d6000fd5b505b6000610bf9828463ffffffff61120616565b90508015610c3057604051339082156108fc029083906000818181858888f19350505050158015610c2e573d6000803e3d6000fd5b505b505b509392505050565b600082820183811015610c5657610c56610090600086866113c0565b9392505050565b6000610c7f83610c73868563ffffffff6113df16565b9063ffffffff61141016565b949350505050565b82516000908190815b818114610d9157610ca78760008151811061093357fe5b610cbe57610cbe6100908860008151811061097e57fe5b868181518110610cca57fe5b60200260200101516080015160001480610cfb5750868181518110610ceb57fe5b602002602001015160a001516000145b15610d0557610d89565b6000610d17878663ffffffff61120616565b9050600080610d4d8a8581518110610d2b57fe5b6020026020010151898681518110610d3f57fe5b60200260200101518561143a565b9092509050610d62878363ffffffff610c3a16565b9650610d74868263ffffffff610c3a16565b9550888710610d8557505050610d91565b5050505b600101610c90565b5050935093915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b6060632800659560e01b848484604051602401610df193929190611e16565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6060631de45ad160e01b8383604051602401610e94929190611d2e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b6000610f2c83601063ffffffff61070a16565b9050600060608273ffffffffffffffffffffffffffffffffffffffff16604051610f5590611c95565b60405180910390203386604051602401610f70929190611d08565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ff99190611c50565b6000604051808303816000865af19150503d8060008114611036576040519150601f19603f3d011682016040523d82523d6000602084013e61103b565b606091505b50915091508161105157611051610090826114e9565b3d15611070576000915060203d14156110705760206000803e60005191505b8161090c5761090c610090826114e9565b806001146110955761109561009082611504565b60006110a883601063ffffffff61070a16565b905060006110bd84602463ffffffff61151f16565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906323b872dd9061111690309033908690600401611d55565b600060405180830381600087803b15801561113057600080fd5b505af1158015611144573d6000803e3d6000fd5b5050505050505050565b6060637996a27160e01b826040516024016101729190611d86565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1213e1d60000000000000000000000000000000000000000000000000000000017905290565b600081518351148015610c56575081805190602001208380519060200120149392505050565b60606356677f2c60e01b8383604051602401610e94929190611dc6565b60008282111561121f5761121f610090600285856113c0565b50900390565b6000808460e001516000148061125157506101608501516101a08601516112519163ffffffff6111c316565b156112ab57600061126b8660a0015187608001518661152b565b90506112756116bf565b611280878388611561565b905061129d81606001518260200151610c3a90919063ffffffff16565b905190935091506113469050565b6101408501516101a08601516112c69163ffffffff6111c316565b156113355760006112f68660a001516112f08860e00151896080015161120690919063ffffffff16565b8661152b565b90506113006116bf565b61130b878388611561565b60208101516060820151825191965091925061132c9163ffffffff61120616565b92505050611346565b611346610090866101a0015161167a565b935093915050565b60606391353a0c60e01b8383604051602401610e94929190611f8d565b6060631174fb8060e01b826040516024016101729190611f84565b6060635cc555c860e01b8383604051602401610e94929190611f8d565b606063ecf40fd960e01b8383604051602401610e94929190611f8d565b606063e946c1bb60e01b848484604051602401610df193929190611df4565b6000826113ee575060006106aa565b828202828482816113fb57fe5b0414610c5657610c56610090600186866113c0565b60008161142657611426610090600385856113c0565b600082848161143157fe5b04949350505050565b6000808460e001516000148061146657506101408501516101a08601516114669163ffffffff6111c316565b156114a7576114736116bf565b61147e868587611561565b60208101516060820151825191955091925061149f9163ffffffff61120616565b915050611346565b6101608501516101a08601516114c29163ffffffff6111c316565b156113355760a085015160e086015160009161126b916112f090829063ffffffff610c3a16565b6060635e7eb60f60e01b826040516024016101729190611db3565b606063baffa47460e01b826040516024016101729190611f84565b6000610c568383611695565b6000610c7f83610c7361154582600163ffffffff61120616565b611555888763ffffffff6113df16565b9063ffffffff610c3a16565b6115696116bf565b6040516060907f9b44d55600000000000000000000000000000000000000000000000000000000906115a390879087908790602401611e24565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092178252600154815191935073ffffffffffffffffffffffffffffffffffffffff169160809184916000855af18015610c2e57825184526020830151602085015260408301516040850152606083015160608501525050509392505050565b60606331360af160e01b826040516024016101729190611db3565b600081602001835110156116b6576116b66100906005855185602001610dd2565b50016020015190565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b80356106aa81612029565b600082601f830112611709578081fd5b813561171c61171782611fd8565b611fb1565b8181529150602080830190840160005b83811015611759576117448760208435890101611975565b8352602092830192919091019060010161172c565b5050505092915050565b600082601f830112611773578081fd5b813561178161171782611fd8565b81815291506020808301908481016000805b8582101561192057823588016101c0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838d030112156117d2578283fd5b6117db81611fb1565b6117e78c8885016116ee565b81526117f68c604085016116ee565b878201526118078c606085016116ee565b60408201526118198c608085016116ee565b606082015260a0830135608082015260c083013560a082015260e083013560c08201526101008084013560e08301526101208085013582840152610140915081850135818401525061016084013567ffffffffffffffff8082111561187c578687fd5b61188a8f8b84890101611975565b838501526101809250828601359150808211156118a5578687fd5b6118b38f8b84890101611975565b6101608501526101a08601359150808211156118cd578687fd5b6118db8f8b84890101611975565b83850152848601359250808311156118f1578687fd5b50506119018d8983870101611975565b6101a08301525087525050938301939183019160019190910190611793565b50505050505092915050565b60008083601f84011261193e57600080fd5b50813567ffffffffffffffff81111561195657600080fd5b60208301915083602082850101111561196e57600080fd5b9250929050565b600082601f830112611985578081fd5b813567ffffffffffffffff81111561199b578182fd5b6119cc60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611fb1565b91508082528360208285010111156119e357600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611a0e57600080fd5b8135610c5681612029565b600060208284031215611a2b57600080fd5b8151610c5681612029565b60008060008060808587031215611a4b578283fd5b843567ffffffffffffffff80821115611a62578485fd5b611a6e88838901611763565b95506020870135915080821115611a83578485fd5b50611a90878288016116f9565b935050604085013591506060850135611aa881612029565b939692955090935050565b600080600080600060a08688031215611aca578081fd5b853567ffffffffffffffff80821115611ae1578283fd5b611aed89838a01611763565b9650602088013595506040880135915080821115611b09578283fd5b50611b16888289016116f9565b935050606086013591506080860135611b2e81612029565b809150509295509295909350565b600060208284031215611b4e57600080fd5b81518015158114610c5657600080fd5b60008060208385031215611b7157600080fd5b823567ffffffffffffffff811115611b8857600080fd5b611b948582860161192c565b90969095509350505050565b600080600060408486031215611bb557600080fd5b833567ffffffffffffffff811115611bcc57600080fd5b611bd88682870161192c565b909790965060209590950135949350505050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611c1e816020860160208601611ff9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251611c62818460208701611ff9565b9190910192915050565b7f455243373231546f6b656e28616464726573732c75696e7432353629000000008152601c0190565b7f7472616e7366657228616464726573732c75696e743235362900000000000000815260190190565b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610c566020830184611c06565b600060408252611dd96040830185611c06565b8281036020840152611deb8185611c06565b95945050505050565b6060810160048510611e0257fe5b938152602081019290925260409091015290565b6060810160088510611e0257fe5b6000606082526101c0611e3b606084018751611bec565b6020860151611e4d6080850182611bec565b506040860151611e6060a0850182611bec565b506060860151611e7360c0850182611bec565b50608086015160e084015260a0860151610100818186015260c08801519150610120828187015260e089015192506101408381880152828a0151935061016092508383880152818a0151935061018091508382880152808a01519350506101a08481880152611ee6610220880185611c06565b838b015194507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09350838882030186890152611f228186611c06565b955050818a0151935082878603016101e0880152611f408585611c06565b908a0151878203840161020089015294509050611f5d8185611c06565b925050508560208501528381036040850152611f798186611c06565b979650505050505050565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff81118282101715611fd057600080fd5b604052919050565b600067ffffffffffffffff821115611fef57600080fd5b5060209081020190565b60005b83811015612014578181015183820152602001611ffc565b83811115612023576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461065757600080fdfea365627a7a72315820db2f1b7ebe1fc58ec155124eeb6a8f31116337029f3ae90db6b035c8684879256c6578706572696d656e74616cf564736f6c634300050b0040" + "object": "0x6080604052600436106100655760003560e01c8063942d33c011610043578063942d33c014610102578063ae93b97a14610124578063f2fde38b1461013757610065565b8063442026ed14610097578063630f1e6c146100b75780638da5cb5b146100d7575b60025473ffffffffffffffffffffffffffffffffffffffff1633146100955761009561009033610157565b6101f6565b005b3480156100a357600080fd5b506100956100b2366004611bc6565b6101fe565b3480156100c357600080fd5b506100956100d2366004611c06565b6104a8565b3480156100e357600080fd5b506100ec6104f1565b6040516100f99190611dc0565b60405180910390f35b610115610110366004611b1d565b61050d565b6040516100f993929190612047565b610115610132366004611aa0565b610542565b34801561014357600080fd5b50610095610152366004611a68565b61059d565b60606308b1869860e01b826040516024016101729190611dc0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600061024a600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff610614169050565b905060405161025890611d97565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104a35760015460405160009173ffffffffffffffffffffffffffffffffffffffff16906360704108906102d490611d97565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261031291600401611e5f565b60206040518083038186803b15801561032a57600080fd5b505afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103629190810190611a84565b905073ffffffffffffffffffffffffffffffffffffffff811661038a5761038a61009061066a565b60006103d6601086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff6106c4169050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b39061044d9085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401611de1565b602060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061049f9190810190611ba6565b5050505b505050565b6104b0610704565b6104a383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525085925061074d915050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061051a610838565b6105258888886108cd565b90935091506105358386866109f0565b9050955095509592505050565b600080600061054f610838565b6000610573670de0b6b3a764000061056d888263ffffffff610b8f16565b34610bb2565b9050610580888289610bdc565b90945092506105908487876109f0565b9150509450945094915050565b6105a5610704565b73ffffffffffffffffffffffffffffffffffffffff81166105d0576105cb610090610d9f565b610611565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b60008160040183511015610635576106356100906003855185600401610dd6565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff3b96b8d0000000000000000000000000000000000000000000000000000000017905290565b600081601401835110156106e5576106e56100906004855185601401610dd6565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461074b5760005461074b9061009090339073ffffffffffffffffffffffffffffffffffffffff16610e7b565b565b600061075f838263ffffffff61061416565b905060405161076d90611d97565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156107c9576107c48383610f1d565b6104a3565b6040516107d590611d45565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561082c576107c48383611085565b6104a361009082611152565b346108485761084861009061116d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b5050505050565b82516000908190815b8181146109d1578681815181106108e957fe5b6020026020010151608001516000148061091a575086818151811061090a57fe5b602002602001015160a001516000145b15610924576109c9565b6000610936878563ffffffff6111c716565b905060008061096c8a858151811061094a57fe5b602002602001015189868151811061095e57fe5b6020026020010151856111e6565b915091506109928a858151811061097f57fe5b602002602001015161014001518261074d565b6109a2878363ffffffff610b8f16565b96506109b4868263ffffffff610b8f16565b95508886106109c5575050506109d1565b5050505b6001016108d6565b50848210156109e7576109e76100908684611339565b50935093915050565b600066b1a2bc2ec50000831115610a0d57610a0d61009084611356565b34841115610a2257610a226100908534611371565b6000610a34348663ffffffff6111c716565b9050610a4984670de0b6b3a764000087610bb2565b915080821115610a6057610a60610090838361138e565b8015610b87576002546040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90610abc908490600401612030565b600060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506000821115610b3c5760405173ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610b3a573d6000803e3d6000fd5b505b6000610b4e828463ffffffff6111c716565b90508015610b8557604051339082156108fc029083906000818181858888f19350505050158015610b83573d6000803e3d6000fd5b505b505b509392505050565b600082820183811015610bab57610bab610090600086866113ab565b9392505050565b6000610bd483610bc8868563ffffffff6113ca16565b9063ffffffff6113fb16565b949350505050565b6000806000855190506000610c97600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5257600080fd5b505afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c8a9190810190611cad565b3a9063ffffffff6113ca16565b905060005b828114610d9457878181518110610caf57fe5b60200260200101516080015160001480610ce05750878181518110610cd057fe5b602002602001015160a001516000145b15610cea57610d8c565b6000610d0c83610d008a8963ffffffff6111c716565b9063ffffffff6111c716565b9050600080610d428b8581518110610d2057fe5b60200260200101518a8681518110610d3457fe5b602002602001015185611425565b91509150610d558b858151811061097f57fe5b610d65888363ffffffff610b8f16565b9750610d77878263ffffffff610b8f16565b9650898810610d8857505050610d94565b5050505b600101610c9c565b505050935093915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b6060632800659560e01b848484604051602401610df593929190611ec1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6060631de45ad160e01b8383604051602401610e98929190611e07565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b6000610f3083601063ffffffff6106c416565b9050600060608273ffffffffffffffffffffffffffffffffffffffff16604051610f5990611d6e565b60405180910390203386604051602401610f74929190611de1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ffd9190611d29565b6000604051808303816000865af19150503d806000811461103a576040519150601f19603f3d011682016040523d82523d6000602084013e61103f565b606091505b50915091508161105557611055610090826114ea565b3d15611074576000915060203d14156110745760206000803e60005191505b816108c6576108c6610090826114ea565b806001146110995761109961009082611505565b60006110ac83601063ffffffff6106c416565b905060006110c184602463ffffffff61152016565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906323b872dd9061111a90309033908690600401611e2e565b600060405180830381600087803b15801561113457600080fd5b505af1158015611148573d6000803e3d6000fd5b5050505050505050565b6060637996a27160e01b826040516024016101729190611e5f565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8c0e562b0000000000000000000000000000000000000000000000000000000017905290565b6000828211156111e0576111e0610090600285856113ab565b50900390565b6000808460e001516000148061121257506101608501516101a08601516112129163ffffffff61152c16565b1561128057600061122c8660a00151876080015186611552565b905061123661172e565b61124187838861157c565b9050611272816080015161126683606001518460200151610b8f90919063ffffffff16565b9063ffffffff610b8f16565b905190935091506113319050565b6101408501516101a086015161129b9163ffffffff61152c16565b156113205760006112cb8660a001516112c58860e0015189608001516111c790919063ffffffff16565b86611552565b90506112d561172e565b6112e087838861157c565b90506112fd81608001518260200151610b8f90919063ffffffff16565b60608201518251919550611317919063ffffffff6111c716565b92505050611331565b611331610090866101a001516116e9565b935093915050565b60606391353a0c60e01b8383604051602401610e98929190612039565b6060631174fb8060e01b826040516024016101729190612030565b606063cdcbed5d60e01b8383604051602401610e98929190612039565b606063ecf40fd960e01b8383604051602401610e98929190612039565b606063e946c1bb60e01b848484604051602401610df593929190611e9f565b6000826113d957506000610664565b828202828482816113e657fe5b0414610bab57610bab610090600186866113ab565b60008161141157611411610090600385856113ab565b600082848161141c57fe5b04949350505050565b6000808460e001516000148061145157506101408501516101a08601516114519163ffffffff61152c16565b156114a85761145e61172e565b61146986858761157c565b905061148681608001518260200151610b8f90919063ffffffff16565b606082015182519194506114a0919063ffffffff6111c716565b915050611331565b6101608501516101a08601516114c39163ffffffff61152c16565b156113205760a085015160e086015160009161122c916112c590829063ffffffff610b8f16565b6060635e7eb60f60e01b826040516024016101729190611e8c565b606063baffa47460e01b826040516024016101729190612030565b6000610bab8383611704565b600081518351148015610bab575081805190602001208380519060200120149392505050565b6000610bd483610bc861156c82600163ffffffff6111c716565b611266888763ffffffff6113ca16565b61158461172e565b6040516060907f9b44d55600000000000000000000000000000000000000000000000000000000906115be90879087908790602401611ecf565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252600154915190925073ffffffffffffffffffffffffffffffffffffffff90911690600090606090839061166f908690611d29565b6000604051808303816000865af19150503d80600081146116ac576040519150601f19603f3d011682016040523d82523d6000602084013e6116b1565b606091505b509150915081156116de57805160a0146116c757fe5b808060200190516116db9190810190611c50565b94505b505050509392505050565b60606331360af160e01b826040516024016101729190611e8c565b60008160200183511015611725576117256100906005855185602001610dd6565b50016020015190565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8035610664816120d4565b600082601f830112611778578081fd5b813561178b61178682612084565b61205d565b8181529150602080830190840160005b838110156117c8576117b387602084358901016119e1565b8352602092830192919091019060010161179b565b5050505092915050565b600082601f8301126117e2578081fd5b81356117f061178682612084565b818152915060208083019084810160005b8481101561198f57813587016101c0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561184157600080fd5b61184a8161205d565b6118568b87850161175d565b81526118658b6040850161175d565b868201526118768b6060850161175d565b60408201526118888b6080850161175d565b606082015260a0830135608082015260c083013560a082015260e083013560c08201526101008084013560e0830152610120808501358284015261014091508185013581840152506101608085013567ffffffffffffffff808211156118ed57600080fd5b6118fb8f8b848a01016119e1565b8486015261018093508387013591508082111561191757600080fd5b6119258f8b848a01016119e1565b838601526101a092508287013591508082111561194157600080fd5b61194f8f8b848a01016119e1565b848601528587013593508084111561196657600080fd5b50506119768d89848801016119e1565b9083015250865250509282019290820190600101611801565b505050505092915050565b60008083601f8401126119ab578182fd5b50813567ffffffffffffffff8111156119c2578182fd5b6020830191508360208285010111156119da57600080fd5b9250929050565b600082601f8301126119f1578081fd5b813567ffffffffffffffff811115611a07578182fd5b611a3860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161205d565b9150808252836020828501011115611a4f57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611a79578081fd5b8135610bab816120d4565b600060208284031215611a95578081fd5b8151610bab816120d4565b60008060008060808587031215611ab5578283fd5b843567ffffffffffffffff80821115611acc578485fd5b611ad8888389016117d2565b95506020870135915080821115611aed578485fd5b50611afa87828801611768565b935050604085013591506060850135611b12816120d4565b939692955090935050565b600080600080600060a08688031215611b34578081fd5b853567ffffffffffffffff80821115611b4b578283fd5b611b5789838a016117d2565b9650602088013595506040880135915080821115611b73578283fd5b50611b8088828901611768565b935050606086013591506080860135611b98816120d4565b809150509295509295909350565b600060208284031215611bb7578081fd5b81518015158114610bab578182fd5b60008060208385031215611bd8578182fd5b823567ffffffffffffffff811115611bee578283fd5b611bfa8582860161199a565b90969095509350505050565b600080600060408486031215611c1a578283fd5b833567ffffffffffffffff811115611c30578384fd5b611c3c8682870161199a565b909790965060209590950135949350505050565b600060a0828403128015611c62578182fd5b8015611c6c578182fd5b50611c7760a061205d565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215611cbe578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611cf78160208601602086016120a4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251611d3b8184602087016120a4565b9190910192915050565b7f455243373231546f6b656e28616464726573732c75696e7432353629000000008152601c0190565b7f7472616e7366657228616464726573732c75696e743235362900000000000000815260190190565b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610bab6020830184611cdf565b6060810160048510611ead57fe5b938152602081019290925260409091015290565b6060810160088510611ead57fe5b600060608252611ee3606083018651611cc5565b6020850151611ef56080840182611cc5565b506040850151611f0860a0840182611cc5565b506060850151611f1b60c0840182611cc5565b50608085015160e083015260a0850151610100818185015260c08701519150610120828186015260e0880151925061014083818701528289015193506101609250838387015281890151935061018091508382870152808901519350506101c06101a08181880152611f91610220880186611cdf565b848b015195507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09450848882030183890152611fcd8187611cdf565b925050828a0151945083878303016101e0880152611feb8286611cdf565b9250808a015194505050818582030161020086015261200a8184611cdf565b91505085602085015283810360408501526120258186611cdf565b979650505050505050565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561207c57600080fd5b604052919050565b600067ffffffffffffffff82111561209a578081fd5b5060209081020190565b60005b838110156120bf5781810151838201526020016120a7565b838111156120ce576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461061157600080fdfea365627a7a72315820afeb88c9cc19090963cb885eb76d709ca1a151f8f73996031898e2b50578a89b6c6578706572696d656e74616cf564736f6c634300050c0040" } } }, "compiler": { "name": "solc", - "version": "soljson-v0.5.11+commit.c082d0b4.js", + "version": "soljson-v0.5.12+commit.7709ece9.js", "settings": { "optimizer": { "enabled": true, diff --git a/packages/contract-artifacts/artifacts/MultiAssetProxy.json b/packages/contract-artifacts/artifacts/MultiAssetProxy.json index ae4505a840..b76f85d7f8 100644 --- a/packages/contract-artifacts/artifacts/MultiAssetProxy.json +++ b/packages/contract-artifacts/artifacts/MultiAssetProxy.json @@ -181,10 +181,10 @@ }, "evm": { "bytecode": { - "object": "0x6080604052600080546001600160a01b03191633179055611617806100256000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639ad2674411610081578063c585bb931161005b578063c585bb9314610789578063d39de6e9146107bc578063f2fde38b14610814576100d4565b80639ad26744146106cc578063ae25532e14610705578063b918161114610742576100d4565b806360704108116100b2578063607041081461065257806370712939146106915780638da5cb5b146106c4576100d4565b80633fd3c9971461059857806342f1181e14610600578063494503d414610635575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e400000000000000000000000000000000000000000000000000000000811415610592573360005260026020526040600020546101a5577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b600480350180356020600482030660448210171561022e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c19494e56414c49445f41535345545f444154415f4c454e475448000000604052600060605260646000fd5b602081018201368111156102ad577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c16494e56414c49445f41535345545f444154415f454e44000000000000604052600060605260646000fd5b5050602481013560448201356044820183016020810335925060448201840160208103358085031561034a577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f4c454e4754485f4d49534d4154434800000000000000000000000000604052600060605260646000fd5b5060646000803760806004526000936064359060200285805b82811015610587578086013584810281868204148615176103ef577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1055494e543235365f4f564552464c4f57000000000000000000000000604052600060605260646000fd5b60649081528287013589018b01604481019250018135600481101561049e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1e4c454e4754485f475245415445525f5448414e5f335f5245515549526040527f454400000000000000000000000000000000000000000000000000000000000060605260646000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008235168b8103156104df57809b508b608452600160a45260406084205495505b5084610556577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1a41535345545f50524f58595f444f45535f4e4f545f45584953540000604052600060605260646000fd5b60208101836084376000808260a401600080895af1925050508061057e573d6000803e3d6000fd5b50602001610363565b505050505050505050005b50600080fd5b6105d7600480360360208110156105ae57600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610847565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6106336004803603602081101561061657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661086f565b005b6105d76004803603602081101561064b57600080fd5b5035610a5b565b6105d76004803603602081101561066857600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610a8f565b610633600480360360208110156106a757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad9565b6105d7610dcc565b610633600480360360408110156106e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de8565b61070d611199565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6107756004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111cf565b604080519115158252519081900360200190f35b6106336004803603602081101561079f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111e4565b6107c4611446565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108005781810151838201526020016107e8565b505050509050019250505060405180910390f35b6106336004803603602081101561082a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114b5565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561098a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b60038181548110610a6857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff16610bf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600354811015610d85578173ffffffffffffffffffffffffffffffffffffffff1660038281548110610c6d57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610d7d57600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610cc557fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cf857fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d77908261159b565b50610d85565b600101610c3f565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff16610f0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6003548110610f7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660038281548110610f9657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161461102457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061109f57fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff90921691839081106110d257fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611151908261159b565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4d756c746941737365742875696e743235365b5d2c62797465735b5d290000008152905190819003601d0190205b90565b60026020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b257600080fd5b505afa1580156112c6573d6000803e3d6000fd5b505050506040513d60208110156112dc57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000811660009081526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561139657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41535345545f50524f58595f414c52454144595f455849535453000000000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000821660008181526001602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915582519384529083015280517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c031949281900390910190a1505050565b606060038054806020026020016040519081016040528092919081815260200182805480156114ab57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611480575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461153b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561159857600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b8154818355818111156115bf576000838152602090206115bf9181019083016115c4565b505050565b6111cc91905b808211156115de57600081556001016115ca565b509056fea265627a7a723158200dd575aabad105efa33c7fd81c8138bd93a96c032f8c1fe8e341296c93f1231564736f6c634300050b0032" + "object": "0x6080604052600080546001600160a01b03191633179055611617806100256000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80639ad2674411610081578063c585bb931161005b578063c585bb9314610789578063d39de6e9146107bc578063f2fde38b14610814576100d4565b80639ad26744146106cc578063ae25532e14610705578063b918161114610742576100d4565b806360704108116100b2578063607041081461065257806370712939146106915780638da5cb5b146106c4576100d4565b80633fd3c9971461059857806342f1181e14610600578063494503d414610635575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e400000000000000000000000000000000000000000000000000000000811415610592573360005260026020526040600020546101a5577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b600480350180356020600482030660448210171561022e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c19494e56414c49445f41535345545f444154415f4c454e475448000000604052600060605260646000fd5b602081018201368111156102ad577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c16494e56414c49445f41535345545f444154415f454e44000000000000604052600060605260646000fd5b5050602481013560448201356044820183016020810335925060448201840160208103358085031561034a577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f4c454e4754485f4d49534d4154434800000000000000000000000000604052600060605260646000fd5b5060646000803760806004526000936064359060200285805b82811015610587578086013584810281868204148615176103ef577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1055494e543235365f4f564552464c4f57000000000000000000000000604052600060605260646000fd5b60649081528287013589018b01604481019250018135600481101561049e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1e4c454e4754485f475245415445525f5448414e5f335f5245515549526040527f454400000000000000000000000000000000000000000000000000000000000060605260646000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008235168b8103156104df57809b508b608452600160a45260406084205495505b5084610556577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1a41535345545f50524f58595f444f45535f4e4f545f45584953540000604052600060605260646000fd5b60208101836084376000808260a401600080895af1925050508061057e573d6000803e3d6000fd5b50602001610363565b505050505050505050005b50600080fd5b6105d7600480360360208110156105ae57600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610847565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6106336004803603602081101561061657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661086f565b005b6105d76004803603602081101561064b57600080fd5b5035610a5b565b6105d76004803603602081101561066857600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610a8f565b610633600480360360208110156106a757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad9565b6105d7610dcc565b610633600480360360408110156106e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de8565b61070d611199565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6107756004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111cf565b604080519115158252519081900360200190f35b6106336004803603602081101561079f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111e4565b6107c4611446565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108005781810151838201526020016107e8565b505050509050019250505060405180910390f35b6106336004803603602081101561082a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114b5565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561098a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b60038181548110610a6857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff16610bf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600354811015610d85578173ffffffffffffffffffffffffffffffffffffffff1660038281548110610c6d57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610d7d57600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610cc557fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cf857fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d77908261159b565b50610d85565b600101610c3f565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff16610f0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6003548110610f7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660038281548110610f9657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161461102457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061109f57fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff90921691839081106110d257fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611151908261159b565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4d756c746941737365742875696e743235365b5d2c62797465735b5d290000008152905190819003601d0190205b90565b60026020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b257600080fd5b505afa1580156112c6573d6000803e3d6000fd5b505050506040513d60208110156112dc57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000811660009081526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561139657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41535345545f50524f58595f414c52454144595f455849535453000000000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000821660008181526001602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915582519384529083015280517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c031949281900390910190a1505050565b606060038054806020026020016040519081016040528092919081815260200182805480156114ab57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611480575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461153b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561159857600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b8154818355818111156115bf576000838152602090206115bf9181019083016115c4565b505050565b6111cc91905b808211156115de57600081556001016115ca565b509056fea265627a7a72315820ff218c9e47c47135d1028b03281d63826ba3569217fc501ee67c0661fa98fc5164736f6c634300050b0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639ad2674411610081578063c585bb931161005b578063c585bb9314610789578063d39de6e9146107bc578063f2fde38b14610814576100d4565b80639ad26744146106cc578063ae25532e14610705578063b918161114610742576100d4565b806360704108116100b2578063607041081461065257806370712939146106915780638da5cb5b146106c4576100d4565b80633fd3c9971461059857806342f1181e14610600578063494503d414610635575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e400000000000000000000000000000000000000000000000000000000811415610592573360005260026020526040600020546101a5577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b600480350180356020600482030660448210171561022e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c19494e56414c49445f41535345545f444154415f4c454e475448000000604052600060605260646000fd5b602081018201368111156102ad577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c16494e56414c49445f41535345545f444154415f454e44000000000000604052600060605260646000fd5b5050602481013560448201356044820183016020810335925060448201840160208103358085031561034a577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f4c454e4754485f4d49534d4154434800000000000000000000000000604052600060605260646000fd5b5060646000803760806004526000936064359060200285805b82811015610587578086013584810281868204148615176103ef577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1055494e543235365f4f564552464c4f57000000000000000000000000604052600060605260646000fd5b60649081528287013589018b01604481019250018135600481101561049e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1e4c454e4754485f475245415445525f5448414e5f335f5245515549526040527f454400000000000000000000000000000000000000000000000000000000000060605260646000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008235168b8103156104df57809b508b608452600160a45260406084205495505b5084610556577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1a41535345545f50524f58595f444f45535f4e4f545f45584953540000604052600060605260646000fd5b60208101836084376000808260a401600080895af1925050508061057e573d6000803e3d6000fd5b50602001610363565b505050505050505050005b50600080fd5b6105d7600480360360208110156105ae57600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610847565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6106336004803603602081101561061657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661086f565b005b6105d76004803603602081101561064b57600080fd5b5035610a5b565b6105d76004803603602081101561066857600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610a8f565b610633600480360360208110156106a757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad9565b6105d7610dcc565b610633600480360360408110156106e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de8565b61070d611199565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6107756004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111cf565b604080519115158252519081900360200190f35b6106336004803603602081101561079f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111e4565b6107c4611446565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108005781810151838201526020016107e8565b505050509050019250505060405180910390f35b6106336004803603602081101561082a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114b5565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561098a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b60038181548110610a6857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff16610bf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600354811015610d85578173ffffffffffffffffffffffffffffffffffffffff1660038281548110610c6d57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610d7d57600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610cc557fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cf857fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d77908261159b565b50610d85565b600101610c3f565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff16610f0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6003548110610f7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660038281548110610f9657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161461102457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061109f57fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff90921691839081106110d257fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611151908261159b565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4d756c746941737365742875696e743235365b5d2c62797465735b5d290000008152905190819003601d0190205b90565b60026020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b257600080fd5b505afa1580156112c6573d6000803e3d6000fd5b505050506040513d60208110156112dc57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000811660009081526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561139657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41535345545f50524f58595f414c52454144595f455849535453000000000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000821660008181526001602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915582519384529083015280517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c031949281900390910190a1505050565b606060038054806020026020016040519081016040528092919081815260200182805480156114ab57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611480575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461153b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561159857600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b8154818355818111156115bf576000838152602090206115bf9181019083016115c4565b505050565b6111cc91905b808211156115de57600081556001016115ca565b509056fea265627a7a723158200dd575aabad105efa33c7fd81c8138bd93a96c032f8c1fe8e341296c93f1231564736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80639ad2674411610081578063c585bb931161005b578063c585bb9314610789578063d39de6e9146107bc578063f2fde38b14610814576100d4565b80639ad26744146106cc578063ae25532e14610705578063b918161114610742576100d4565b806360704108116100b2578063607041081461065257806370712939146106915780638da5cb5b146106c4576100d4565b80633fd3c9971461059857806342f1181e14610600578063494503d414610635575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e400000000000000000000000000000000000000000000000000000000811415610592573360005260026020526040600020546101a5577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b600480350180356020600482030660448210171561022e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c19494e56414c49445f41535345545f444154415f4c454e475448000000604052600060605260646000fd5b602081018201368111156102ad577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c16494e56414c49445f41535345545f444154415f454e44000000000000604052600060605260646000fd5b5050602481013560448201356044820183016020810335925060448201840160208103358085031561034a577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f4c454e4754485f4d49534d4154434800000000000000000000000000604052600060605260646000fd5b5060646000803760806004526000936064359060200285805b82811015610587578086013584810281868204148615176103ef577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1055494e543235365f4f564552464c4f57000000000000000000000000604052600060605260646000fd5b60649081528287013589018b01604481019250018135600481101561049e577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1e4c454e4754485f475245415445525f5448414e5f335f5245515549526040527f454400000000000000000000000000000000000000000000000000000000000060605260646000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008235168b8103156104df57809b508b608452600160a45260406084205495505b5084610556577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1a41535345545f50524f58595f444f45535f4e4f545f45584953540000604052600060605260646000fd5b60208101836084376000808260a401600080895af1925050508061057e573d6000803e3d6000fd5b50602001610363565b505050505050505050005b50600080fd5b6105d7600480360360208110156105ae57600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610847565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6106336004803603602081101561061657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661086f565b005b6105d76004803603602081101561064b57600080fd5b5035610a5b565b6105d76004803603602081101561066857600080fd5b50357fffffffff0000000000000000000000000000000000000000000000000000000016610a8f565b610633600480360360208110156106a757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad9565b6105d7610dcc565b610633600480360360408110156106e257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de8565b61070d611199565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6107756004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111cf565b604080519115158252519081900360200190f35b6106336004803603602081101561079f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111e4565b6107c4611446565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108005781810151838201526020016107e8565b505050509050019250505060405180910390f35b6106336004803603602081101561082a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114b5565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff161561098a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526002602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b60038181548110610a6857fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526002602052604090205460ff16610bf357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600354811015610d85578173ffffffffffffffffffffffffffffffffffffffff1660038281548110610c6d57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610d7d57600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610cc557fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cf857fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d77908261159b565b50610d85565b600101610c3f565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff16610f0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6003548110610f7257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660038281548110610f9657fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161461102457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061109f57fe5b6000918252602090912001546003805473ffffffffffffffffffffffffffffffffffffffff90921691839081106110d257fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611151908261159b565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4d756c746941737365742875696e743235365b5d2c62797465735b5d290000008152905190819003601d0190205b90565b60026020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156112b257600080fd5b505afa1580156112c6573d6000803e3d6000fd5b505050506040513d60208110156112dc57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000811660009081526001602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561139657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41535345545f50524f58595f414c52454144595f455849535453000000000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000821660008181526001602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915582519384529083015280517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c031949281900390910190a1505050565b606060038054806020026020016040519081016040528092919081815260200182805480156114ab57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611480575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461153b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561159857600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b8154818355818111156115bf576000838152602090206115bf9181019083016115c4565b505050565b6111cc91905b808211156115de57600081556001016115ca565b509056fea265627a7a72315820ff218c9e47c47135d1028b03281d63826ba3569217fc501ee67c0661fa98fc5164736f6c634300050b0032" } } }, diff --git a/packages/contract-artifacts/artifacts/StaticCallProxy.json b/packages/contract-artifacts/artifacts/StaticCallProxy.json index 4538bb16a7..f89ac63af1 100644 --- a/packages/contract-artifacts/artifacts/StaticCallProxy.json +++ b/packages/contract-artifacts/artifacts/StaticCallProxy.json @@ -46,10 +46,10 @@ }, "evm": { "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610505806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a85e59e41461003b578063ae25532e146100d3575b600080fd5b6100d16004803603608081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610110565b005b6100db6103a5565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6000606060006101656004898990508a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6103c5169050565b806020019051606081101561017957600080fd5b8151602083018051604051929492938301929190846401000000008211156101a057600080fd5b9083019060208201858111156101b557600080fd5b82516401000000008111828201881017156101cf57600080fd5b82525081516020918201929091019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050925092509250600060608473ffffffffffffffffffffffffffffffffffffffff16846040518082805190602001908083835b602083106102ac57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161026f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461030c576040519150601f19603f3d011682016040523d82523d6000602084013e610311565b606091505b50915091508161032357805160208201fd5b8051602082012083811461039857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f554e45585045435445445f5354415449435f43414c4c5f524553554c54000000604482015290519081900360640190fd5b5050505050505050505050565b600060405180806104b06021913960210190506040518091039020905090565b6060818311156103e3576103e36103de60008585610408565b6104a7565b83518211156103fc576103fc6103de6001848751610408565b50819003910190815290565b6060632800659560e01b8484846040516024018084600781111561042857fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe53746174696343616c6c28616464726573732c62797465732c6279746573333229a265627a7a723158209e5f715f925fb97fe41b0c320890ab694fc266b8ff42216a1cf39bc6f63f277064736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50610505806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a85e59e41461003b578063ae25532e146100d3575b600080fd5b6100d16004803603608081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610110565b005b6100db6103a5565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6000606060006101656004898990508a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6103c5169050565b806020019051606081101561017957600080fd5b8151602083018051604051929492938301929190846401000000008211156101a057600080fd5b9083019060208201858111156101b557600080fd5b82516401000000008111828201881017156101cf57600080fd5b82525081516020918201929091019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050925092509250600060608473ffffffffffffffffffffffffffffffffffffffff16846040518082805190602001908083835b602083106102ac57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161026f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461030c576040519150601f19603f3d011682016040523d82523d6000602084013e610311565b606091505b50915091508161032357805160208201fd5b8051602082012083811461039857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f554e45585045435445445f5354415449435f43414c4c5f524553554c54000000604482015290519081900360640190fd5b5050505050505050505050565b600060405180806104b06021913960210190506040518091039020905090565b6060818311156103e3576103e36103de60008585610408565b6104a7565b83518211156103fc576103fc6103de6001848751610408565b50819003910190815290565b6060632800659560e01b8484846040516024018084600781111561042857fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe53746174696343616c6c28616464726573732c62797465732c6279746573333229a265627a7a72315820c55cf13cfcaaf322238d786911313ce7d45854692241ae9b56709bdbfed4f54c64736f6c634300050b0032" }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a85e59e41461003b578063ae25532e146100d3575b600080fd5b6100d16004803603608081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610110565b005b6100db6103a5565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6000606060006101656004898990508a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6103c5169050565b806020019051606081101561017957600080fd5b8151602083018051604051929492938301929190846401000000008211156101a057600080fd5b9083019060208201858111156101b557600080fd5b82516401000000008111828201881017156101cf57600080fd5b82525081516020918201929091019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050925092509250600060608473ffffffffffffffffffffffffffffffffffffffff16846040518082805190602001908083835b602083106102ac57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161026f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461030c576040519150601f19603f3d011682016040523d82523d6000602084013e610311565b606091505b50915091508161032357805160208201fd5b8051602082012083811461039857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f554e45585045435445445f5354415449435f43414c4c5f524553554c54000000604482015290519081900360640190fd5b5050505050505050505050565b600060405180806104b06021913960210190506040518091039020905090565b6060818311156103e3576103e36103de60008585610408565b6104a7565b83518211156103fc576103fc6103de6001848751610408565b50819003910190815290565b6060632800659560e01b8484846040516024018084600781111561042857fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe53746174696343616c6c28616464726573732c62797465732c6279746573333229a265627a7a723158209e5f715f925fb97fe41b0c320890ab694fc266b8ff42216a1cf39bc6f63f277064736f6c634300050b0032" + "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a85e59e41461003b578063ae25532e146100d3575b600080fd5b6100d16004803603608081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610110565b005b6100db6103a5565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6000606060006101656004898990508a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6103c5169050565b806020019051606081101561017957600080fd5b8151602083018051604051929492938301929190846401000000008211156101a057600080fd5b9083019060208201858111156101b557600080fd5b82516401000000008111828201881017156101cf57600080fd5b82525081516020918201929091019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050925092509250600060608473ffffffffffffffffffffffffffffffffffffffff16846040518082805190602001908083835b602083106102ac57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161026f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461030c576040519150601f19603f3d011682016040523d82523d6000602084013e610311565b606091505b50915091508161032357805160208201fd5b8051602082012083811461039857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f554e45585045435445445f5354415449435f43414c4c5f524553554c54000000604482015290519081900360640190fd5b5050505050505050505050565b600060405180806104b06021913960210190506040518091039020905090565b6060818311156103e3576103e36103de60008585610408565b6104a7565b83518211156103fc576103fc6103de6001848751610408565b50819003910190815290565b6060632800659560e01b8484846040516024018084600781111561042857fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe53746174696343616c6c28616464726573732c62797465732c6279746573333229a265627a7a72315820c55cf13cfcaaf322238d786911313ce7d45854692241ae9b56709bdbfed4f54c64736f6c634300050b0032" } } }, diff --git a/packages/contract-artifacts/artifacts/WETH9.json b/packages/contract-artifacts/artifacts/WETH9.json index 73a8213e67..f1353ac737 100644 --- a/packages/contract-artifacts/artifacts/WETH9.json +++ b/packages/contract-artifacts/artifacts/WETH9.json @@ -149,10 +149,10 @@ "devdoc": { "methods": {} }, "evm": { "bytecode": { - "object": "0x60c0604052600d60808190527f577261707065642045746865720000000000000000000000000000000000000060a090815261003e91600091906100a3565b506040805180820190915260048082527f57455448000000000000000000000000000000000000000000000000000000006020909201918252610083916001916100a3565b506002805460ff1916601217905534801561009d57600080fd5b5061013e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e457805160ff1916838001178555610111565b82800160010185558215610111579182015b828111156101115782518255916020019190600101906100f6565b5061011d929150610121565b5090565b61013b91905b8082111561011d5760008155600101610127565b90565b61074c8061014d6000396000f3006080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a7230582081c23d4174793ecf936226f6e14ff2fb98b19393169fe83f41525bddb3b4e1d80029" + "object": "0x60c0604052600d60808190527f577261707065642045746865720000000000000000000000000000000000000060a090815261003e91600091906100a3565b506040805180820190915260048082527f57455448000000000000000000000000000000000000000000000000000000006020909201918252610083916001916100a3565b506002805460ff1916601217905534801561009d57600080fd5b5061013e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100e457805160ff1916838001178555610111565b82800160010185558215610111579182015b828111156101115782518255916020019190600101906100f6565b5061011d929150610121565b5090565b61013b91905b8082111561011d5760008155600101610127565b90565b61074c8061014d6000396000f3006080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a723058201ebe888a6b56dd871f599adbe0f19ec3c29c28aec0685788dfac9b37a99fc9d20029" }, "deployedBytecode": { - "object": "0x6080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a7230582081c23d4174793ecf936226f6e14ff2fb98b19393169fe83f41525bddb3b4e1d80029" + "object": "0x6080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a723058201ebe888a6b56dd871f599adbe0f19ec3c29c28aec0685788dfac9b37a99fc9d20029" } } }, diff --git a/packages/contract-artifacts/artifacts/ZRXToken.json b/packages/contract-artifacts/artifacts/ZRXToken.json index 6845d23d71..6784b3b809 100644 --- a/packages/contract-artifacts/artifacts/ZRXToken.json +++ b/packages/contract-artifacts/artifacts/ZRXToken.json @@ -116,10 +116,10 @@ }, "evm": { "bytecode": { - "object": "0x60606040526b033b2e3c9fd0803ce8000000600355341561001c57fe5b5b600354600160a060020a0333166000908152602081905260409020555b5b61078d8061004a6000396000f300606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a7230582021a287948d4a4ece4960098426bc8a1ec320609ee5fd69dffc612ad2b9db514e0029" + "object": "0x60606040526b033b2e3c9fd0803ce8000000600355341561001c57fe5b5b600354600160a060020a0333166000908152602081905260409020555b5b61078d8061004a6000396000f300606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a72305820d984298155c708a8164f1cbf83c7275bcc6851dd082c0404013c1f4463b238fa0029" }, "deployedBytecode": { - "object": "0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a7230582021a287948d4a4ece4960098426bc8a1ec320609ee5fd69dffc612ad2b9db514e0029" + "object": "0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a72305820d984298155c708a8164f1cbf83c7275bcc6851dd082c0404013c1f4463b238fa0029" } } }, diff --git a/packages/contract-artifacts/package.json b/packages/contract-artifacts/package.json index 2040a21eee..9ed9d1b98e 100644 --- a/packages/contract-artifacts/package.json +++ b/packages/contract-artifacts/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-artifacts", - "version": "2.2.2", + "version": "2.3.0-beta.0", "engines": { "node": ">=6.12" }, @@ -30,7 +30,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-artifacts/README.md", "devDependencies": { - "@0x/utils": "^4.5.2", + "@0x/utils": "^4.6.0-beta.0", "@types/mocha": "^5.2.7", "chai": "^4.0.1", "lodash": "^4.17.11", diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 8b8d2bb4f4..966692cae0 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "12.2.0", + "version": "12.2.0-beta.0", "changes": [ { "note": "Use new `Order` and `ZeroExTransaction` structures with `domain` field", @@ -10,7 +10,8 @@ "note": "Update exchange wrapper", "pr": 1742 } - ] + ], + "timestamp": 1570135330 }, { "version": "12.1.0", diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index f41c3169a3..cd13f04bd6 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -5,6 +5,11 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v12.2.0-beta.0 - _October 3, 2019_ + + * Use new `Order` and `ZeroExTransaction` structures with `domain` field (#1742) + * Update exchange wrapper (#1742) + ## v12.1.0 - _September 17, 2019_ * Add `devUtils` to `ContractWrappers` class. (#2146) diff --git a/packages/contract-wrappers/docs/reference.mdx b/packages/contract-wrappers/docs/reference.mdx index 6e1a3d1a2e..3761684f44 100644 --- a/packages/contract-wrappers/docs/reference.mdx +++ b/packages/contract-wrappers/docs/reference.mdx @@ -1,40 +1,37 @@ - - -# Class: CoordinatorWrapper - -This class includes all the functionality related to filling or cancelling orders through -the 0x V2 Coordinator extension contract. +# Class: CoordinatorContract ## Constructors -\+ **new CoordinatorWrapper**(`provider`: `SupportedProvider`, `networkId`: number, `address?`: undefined | string, `exchangeAddress?`: undefined | string, `registryAddress?`: undefined | string): *[CoordinatorWrapper](#class-coordinatorwrapper)* +\+ **new CoordinatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[CoordinatorContract](#class-coordinatorcontract)* -*Defined in [coordinator_wrapper.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L43)* +*Overrides void* -Instantiate CoordinatorWrapper +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1489](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1489)* **Parameters:** -Name | Type | Description | +Name | Type | Default | ------ | ------ | ------ | -`provider` | `SupportedProvider` | - | -`networkId` | number | Desired networkId. | -`address?` | undefined \| string | The address of the Coordinator contract. If undefined, will default to the known address corresponding to the networkId. | -`exchangeAddress?` | undefined \| string | The address of the Exchange contract. If undefined, will default to the known address corresponding to the networkId. | -`registryAddress?` | undefined \| string | The address of the CoordinatorRegistry contract. If undefined, will default to the known address corresponding to the networkId. | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | CoordinatorContract.deployedBytecode | -**Returns:** *[CoordinatorWrapper](#class-coordinatorwrapper)* +**Returns:** *[CoordinatorContract](#class-coordinatorcontract)* ## Properties ### abi -• **abi**: *`ContractAbi`* = Coordinator.compilerOutput.abi +• **abi**: *[ContractAbi](#contractabi)* + + -*Defined in [coordinator_wrapper.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L34)* +Defined in base-contract/lib/src/index.d.ts:27 ___ @@ -42,1670 +39,32248 @@ ___ • **address**: *string* -*Defined in [coordinator_wrapper.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L36)* + + +Defined in base-contract/lib/src/index.d.ts:28 ___ -### exchangeAddress +Args + +• **constructorArgs**: *any[]* + -• **exchangeAddress**: *string* -*Defined in [coordinator_wrapper.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L37)* +Defined in base-contract/lib/src/index.d.ts:30 ___ -### networkId +### contractName -• **networkId**: *number* +• **contractName**: *string* -*Defined in [coordinator_wrapper.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L35)* + + +Defined in base-contract/lib/src/index.d.ts:29 ___ -### registryAddress +### `Static` deployedBytecode -• **registryAddress**: *string* +▪ **deployedBytecode**: *string | undefined* -*Defined in [coordinator_wrapper.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L38)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L31)* ## Methods -### assertValidCoordinatorApprovalsOrThrowAsync +### evmExecAsync -▸ **assertValidCoordinatorApprovalsOrThrowAsync**(`transaction`: `ZeroExTransaction`, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[]): *`Promise`* +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* -*Defined in [coordinator_wrapper.ts:637](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L637)* -Validates that the 0x transaction has been approved by all of the feeRecipients that correspond to each order in the transaction's Exchange calldata. -Throws an error if the transaction approvals are not valid. Will not detect failures that would occur when the transaction is executed on the Exchange contract. + +Defined in base-contract/lib/src/index.d.ts:42 **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`transaction` | `ZeroExTransaction` | 0x transaction containing salt, signerAddress, and data. | -`txOrigin` | string | Required signer of Ethereum transaction calling this function. | -`transactionSignature` | string | Proof that the transaction has been signed by the signer. | -`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | -`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | +Name | Type | +------ | ------ | +`input` | `Buffer` | -**Returns:** *`Promise`* +**Returns:** *`Promise`* ___ -### batchFillOrKillOrdersAsync +### `Static` ABI -▸ **batchFillOrKillOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +▸ **ABI**(): *[ContractAbi](#contractabi)* -*Defined in [coordinator_wrapper.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L273)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1195](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1195)* -Batch version of fillOrKillOrderAsync. Executes multiple fills atomically in a single transaction. +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1148)* **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Transaction hash. +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1115](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1115)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | + +**Returns:** *`Promise`* ___ -### batchFillOrdersAsync +### `Static` strictArgumentEncodingCheck -▸ **batchFillOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* -*Defined in [coordinator_wrapper.ts:203](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L203)* -Batch version of fillOrderAsync. Executes multiple fills atomically in a single transaction. -Under-the-hood, this method uses the `feeRecipientAddress`s of the orders to looks up the coordinator server endpoints -registered in the coordinator registry contract. It requests a signature from each coordinator server before -submitting the orders and signatures as a 0x transaction to the coordinator extension contract, which validates the -signatures and then fills the order through the Exchange contract. -If any `feeRecipientAddress` in the batch is not registered to a coordinator server, the whole batch fails. + +Defined in base-contract/lib/src/index.d.ts:41 **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | -**Returns:** *`Promise`* +**Returns:** *string* -Transaction hash. +## Object literals -___ +### EIP712_COORDINATOR_DOMAIN_HASH -### batchFillOrdersNoThrowAsync +#### ▪ **EIP712_COORDINATOR_DOMAIN_HASH**: *object* -▸ **batchFillOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1037](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1037)* -*Defined in [coordinator_wrapper.ts:238](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L238)* +#### callAsync -No throw version of batchFillOrdersAsync +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1043](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1043)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | **Returns:** *`Promise`* -Transaction hash. +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1107)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1095](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1095)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:1085](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L1085)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string ___ -### batchHardCancelOrdersAsync +### EIP712_EXCHANGE_DOMAIN_HASH -▸ **batchHardCancelOrdersAsync**(`orders`: `SignedOrder`[], `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +#### ▪ **EIP712_EXCHANGE_DOMAIN_HASH**: *object* -*Defined in [coordinator_wrapper.ts:568](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L568)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:667](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L667)* -Batch version of hardCancelOrderAsync. Cancels orders on-chain by submitting an Ethereum transaction. -Executes multiple cancels atomically in a single transaction. +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:673](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L673)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`orders` | `SignedOrder`[] | - | An array of orders to cancel. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | **Returns:** *`Promise`* -Transaction hash. +#### getABIDecodedReturnData -___ +▸ **getABIDecodedReturnData**(`returnData`: string): *string* -### batchSoftCancelOrdersAsync +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:737](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L737)* -▸ **batchSoftCancelOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`* +Decode the ABI-encoded return data from a transaction -*Defined in [coordinator_wrapper.ts:482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L482)* +**Parameters:** -Batch version of softCancelOrderAsync. Requests multiple soft cancels +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:725](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L725)* + +Decode the ABI-encoded transaction data into its input arguments **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`orders` | `SignedOrder`[] | An array of orders to cancel. | +`callData` | string | The ABI-encoded transaction data | -**Returns:** *`Promise`* +**Returns:** *void* -CoordinatorServerCancellationResponse. See [Cancellation Response](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#response). +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:715](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L715)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string ___ -### fillOrKillOrderAsync +### assertValidCoordinatorApprovals -▸ **fillOrKillOrderAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +#### ▪ **assertValidCoordinatorApprovals**: *object* -*Defined in [coordinator_wrapper.ts:166](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L166)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:749](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L749)* -Attempts to fill a specific amount of an order. If the entire amount specified cannot be filled, -the fill order is abandoned. +Validates that the 0x transaction has been approved by all of the feeRecipients +that correspond to each order in the transaction's Exchange calldata. + +#### callAsync + +▸ **callAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:764](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L764)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. **Parameters:** Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`signedOrder` | `SignedOrder` | - | An object that conforms to the SignedOrder interface. | -`takerAssetFillAmount` | `BigNumber` | - | The amount of the order (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill this order. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +`transaction` | object | - | 0x transaction containing salt, signerAddress, and data. | +`txOrigin` | string | - | Required signer of Ethereum transaction calling this function. | +`transactionSignature` | string | - | Proof that the transaction has been signed by the signer. | +`approvalExpirationTimeSeconds` | `BigNumber`[] | - | Array of expiration times in seconds for which each corresponding approval signature expires. | +`approvalSignatures` | string[] | - | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | -**Returns:** *`Promise`* +**Returns:** *`Promise`* -Transaction hash. +#### getABIDecodedReturnData -___ +▸ **getABIDecodedReturnData**(`returnData`: string): *void* -### fillOrderAsync +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:885](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L885)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string, string, `BigNumber`[], string[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:867](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L867)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[object, string, string, `BigNumber`[], string[]]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:838](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L838)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction containing salt, signerAddress, and data. | +`txOrigin` | string | Required signer of Ethereum transaction calling this function. | +`transactionSignature` | string | Proof that the transaction has been signed by the signer. | +`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | +`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeOrdersFromFillData + +#### ▪ **decodeOrdersFromFillData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:898](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L898)* + +Decodes the orders from Exchange calldata representing any fill method. + +#### callAsync + +▸ **callAsync**(`data`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:906](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L906)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`data` | string | - | Exchange calldata representing a fill method. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise>`* + +The orders from the Exchange calldata. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:999](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L999)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`Array`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:987](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L987)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`data`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:976](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L976)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`data` | string | Exchange calldata representing a fill method. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### executeTransaction + +#### ▪ **executeTransaction**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:339](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L339)* + +Executes a 0x transaction that has been signed by the feeRecipients that correspond to each order in the transaction's Exchange calldata. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:409](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L409)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction containing salt, signerAddress, and data. | +`txOrigin` | string | Required signer of Ethereum transaction calling this function. | +`transactionSignature` | string | Proof that the transaction has been signed by the signer. | +`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | +`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:536](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L536)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`transaction` | object | - | 0x transaction containing salt, signerAddress, and data. | +`txOrigin` | string | - | Required signer of Ethereum transaction calling this function. | +`transactionSignature` | string | - | Proof that the transaction has been signed by the signer. | +`approvalExpirationTimeSeconds` | `BigNumber`[] | - | Array of expiration times in seconds for which each corresponding approval signature expires. | +`approvalSignatures` | string[] | - | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:458](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L458)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction containing salt, signerAddress, and data. | +`txOrigin` | string | Required signer of Ethereum transaction calling this function. | +`transactionSignature` | string | Proof that the transaction has been signed by the signer. | +`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | +`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:657](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L657)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string, string, `BigNumber`[], string[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:639](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L639)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[object, string, string, `BigNumber`[], string[]]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:610](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L610)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction containing salt, signerAddress, and data. | +`txOrigin` | string | Required signer of Ethereum transaction calling this function. | +`transactionSignature` | string | Proof that the transaction has been signed by the signer. | +`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | +`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L355)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction containing salt, signerAddress, and data. | +`txOrigin` | string | Required signer of Ethereum transaction calling this function. | +`transactionSignature` | string | Proof that the transaction has been signed by the signer. | +`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | +`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`transaction`: object, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:496](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L496)* + +**Parameters:** + +Name | Type | +------ | ------ | +`transaction` | object | +`txOrigin` | string | +`transactionSignature` | string | +`approvalExpirationTimeSeconds` | `BigNumber`[] | +`approvalSignatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### getCoordinatorApprovalHash + +#### ▪ **getCoordinatorApprovalHash**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:221](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L221)* + +Calculated the EIP712 hash of the Coordinator approval mesasage using the domain separator of this contract. + +#### callAsync + +▸ **callAsync**(`approval`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:230](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L230)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`approval` | object | - | Coordinator approval message containing the transaction hash, transaction signature, and expiration of the approval. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +EIP712 hash of the Coordinator approval message with the domain separator of this contract. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L328)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:304](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L304)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`approval`: object): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:286](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L286)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`approval` | object | Coordinator approval message containing the transaction hash, transaction signature, and expiration of the approval. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getSignerAddress + +#### ▪ **getSignerAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L35)* + +Recovers the address of a signer given a hash and signature. + +#### callAsync + +▸ **callAsync**(`hash`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L43)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`hash` | string | - | Any 32 byte hash. | +`signature` | string | - | Proof that the hash has been signed by signer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:113](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L113)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:101](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L101)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`hash`: string, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:86](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L86)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32 byte hash. | +`signature` | string | Proof that the hash has been signed by signer. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getTransactionHash + +#### ▪ **getTransactionHash**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:124](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L124)* + +Calculates the EIP712 hash of a 0x transaction using the domain separator of the Exchange contract. + +#### callAsync + +▸ **callAsync**(`transaction`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L132)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`transaction` | object | - | 0x transaction containing salt, signerAddress, and data. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +EIP712 hash of the transaction with the domain separator of this contract. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:210](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L210)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L194)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`transaction`: object): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator.ts#L181)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction containing salt, signerAddress, and data. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +
+ +# Class: CoordinatorRegistryContract + + +## Constructors + + + +\+ **new CoordinatorRegistryContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[CoordinatorRegistryContract](#class-coordinatorregistrycontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:520](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L520)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | CoordinatorRegistryContract.deployedBytecode | + +**Returns:** *[CoordinatorRegistryContract](#class-coordinatorregistrycontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string | undefined* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L43)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [CoordinatorRegistryEvents](#enumeration-coordinatorregistryevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:504](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L504)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[CoordinatorRegistryEventArgs](#coordinatorregistryeventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [CoordinatorRegistryEvents](#enumeration-coordinatorregistryevents) | The CoordinatorRegistry contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [CoordinatorRegistryEvents](#enumeration-coordinatorregistryevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:462](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L462)* + +Subscribe to an event type emitted by the CoordinatorRegistry contract. + +**Type parameters:** + +▪ **ArgsType**: *[CoordinatorRegistryEventArgs](#coordinatorregistryeventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [CoordinatorRegistryEvents](#enumeration-coordinatorregistryevents) | - | The CoordinatorRegistry contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:487](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L487)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:493](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L493)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L390)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:348](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L348)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:317](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L317)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### getCoordinatorEndpoint + +#### ▪ **getCoordinatorEndpoint**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:226](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L226)* + +Gets the endpoint for a Coordinator. + +#### callAsync + +▸ **callAsync**(`coordinatorOperator`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:233](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L233)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`coordinatorOperator` | string | - | operator of the Coordinator endpoint. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:308](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L308)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:296](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L296)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`coordinatorOperator`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:283](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L283)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`coordinatorOperator` | string | operator of the Coordinator endpoint. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### setCoordinatorEndpoint + +#### ▪ **setCoordinatorEndpoint**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L47)* + +Called by a Coordinator operator to set the endpoint of their Coordinator. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`coordinatorEndpoint`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L82)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`coordinatorEndpoint` | string | endpoint of the Coordinator. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`coordinatorEndpoint`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:142](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L142)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`coordinatorEndpoint` | string | - | endpoint of the Coordinator. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`coordinatorEndpoint`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:109](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L109)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`coordinatorEndpoint` | string | endpoint of the Coordinator. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L215)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:203](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L203)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`coordinatorEndpoint`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:190](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L190)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`coordinatorEndpoint` | string | endpoint of the Coordinator. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`coordinatorEndpoint`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L55)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`coordinatorEndpoint` | string | endpoint of the Coordinator. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`coordinatorEndpoint`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L128)* + +**Parameters:** + +Name | Type | +------ | ------ | +`coordinatorEndpoint` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: DevUtilsContract + + +## Constructors + + + +\+ **new DevUtilsContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[DevUtilsContract](#class-devutilscontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:5507](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L5507)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | DevUtilsContract.deployedBytecode | + +**Returns:** *[DevUtilsContract](#class-devutilscontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b506004361061025c5760003560e01c80639a7e752611610145578063cafd3a07116100bd578063d3d862d11161008c578063e4e6e7da11610071578063e4e6e7da1461063a578063e77286eb1461065b578063ee4f5a941461067d5761025c565b8063d3d862d114610605578063e25cabf7146106185761025c565b8063cafd3a071461059e578063d001c5dc146105bf578063d186037f146105d2578063d3637905146105e55761025c565b8063a6627e9f11610114578063b43cffe1116100f9578063b43cffe114610548578063bbb2dcf61461055b578063bc03f9641461057d5761025c565b8063a6627e9f14610512578063acaedc74146105255761025c565b80639a7e7526146104985780639eadc835146104bb578063a0901e51146104df578063a5cd62ba146104f25761025c565b8063459be5e2116101d85780636f83188e116101a75780637b66ad341161018c5780637b66ad34146104515780637d727512146104725780638f4ce479146104855761025c565b80636f83188e1461040d5780637914b2ec146104305761025c565b8063459be5e21461038a5780634dfdac20146103ab578063590aa875146103cb57806365129042146103eb5761025c565b80632322cf761161022f578063327d305411610214578063327d30541461033257806332aae3ad146103455780633db6dc61146103675761025c565b80632322cf76146102f0578063314853ff146103105761025c565b806302d0aec31461026157806304a5618a1461028b5780630d7b7d76146102ad578063165979e1146102ce575b600080fd5b61027461026f3660046149dd565b61069f565b6040516102829291906152e4565b60405180910390f35b61029e6102993660046149dd565b6106fb565b60405161028293929190615387565b6102c06102bb366004614565565b6107a9565b604051610282929190615292565b6102e16102dc3660046149dd565b6107cb565b604051610282939291906154c2565b6103036102fe366004614565565b610828565b6040516102829190615731565b61032361031e3660046149dd565b610850565b604051610282939291906152b9565b6102c06103403660046149dd565b610897565b6103586103533660046149dd565b6108d9565b60405161028293929190615438565b61037a6103753660046149dd565b61092c565b6040516102829493929190615258565b61039d6103983660046149dd565b610976565b6040516102829291906154ab565b6103be6103b936600461448c565b6109cc565b60405161028291906151f2565b6103de6103d936600461435d565b610a4f565b60405161028291906153e7565b6103fe6103f93660046149dd565b610ad3565b60405161028293929190614fdf565b61042061041b3660046149dd565b610b0d565b6040516102829493929190615535565b61044361043e3660046149dd565b61164e565b604051610282929190615301565b61046461045f3660046149dd565b611686565b604051610282929190614fc5565b610303610480366004614565565b6116be565b6104436104933660046149dd565b611dd3565b6104ab6104a63660046149dd565b611e63565b60405161028294939291906154f1565b6104ce6104c93660046149dd565b611ec4565b604051610282959493929190615324565b6103be6104ed3660046145d4565b611f6f565b61050561050036600461463a565b611fe8565b60405161028291906150f9565b6103de6105203660046145a9565b6120ac565b6105386105333660046149dd565b612133565b6040516102829493929190615055565b6103de6105563660046144da565b61216f565b61056e6105693660046149dd565b6121fc565b604051610282939291906153b2565b61059061058b3660046149dd565b6122a9565b6040516102829291906152a0565b6105b16105ac3660046149dd565b6122e2565b604051610282929190615528565b6103be6105cd36600461448c565b612330565b6103036105e0366004614565565b61239e565b6105f86105f3366004614a94565b6129e1565b60405161028291906154dd565b6103de6106133660046147e2565b612f7e565b61062b6106263660046146be565b612fb6565b60405161028293929190615146565b61064d61064836600461448c565b6130ee565b604051610282929190615233565b61066e610669366004614aec565b613107565b604051610282939291906156d5565b61069061068b3660046149dd565b613341565b60405161028293929190615481565b6000806106b3836106ae61337e565b6133a2565b60006106cc60048551866133fc9092919063ffffffff16565b8060200190516106df9190810190614990565b909350905060ff811660068111156106f357fe5b915050915091565b6000808061070f848263ffffffff61343f16565b92506001600160e01b031983167f02571792000000000000000000000000000000000000000000000000000000001461077d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b60405180910390fd5b61078e84601063ffffffff61347316565b91506107a184602463ffffffff6134a616565b929491935050565b6000806107b684846116be565b91506107c2848461239e565b90509250929050565b60008060006107dc846106ae6134b2565b60006107f560048651876133fc9092919063ffffffff16565b8060200190516108089190810190614d20565b9094509250905060ff8116600281111561081e57fe5b9350509193909250565b600080600061083785856107a9565b9150915061084582826134d6565b925050505b92915050565b6000606080610861846106ae6134ec565b835161087790859060049063ffffffff6133fc16565b80602001905161088a9190810190614930565b9196909550909350915050565b6000806108a6836106ae613510565b82516108bc90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148d2565b9094909350915050565b60008060606108ea846106ae613534565b600061090360048651876133fc9092919063ffffffff16565b8060200190516109169190810190614cd4565b9094509250905060ff8116600181111561081e57fe5b60008060608061093e856106ae613558565b845161095490869060049063ffffffff6133fc16565b806020019051610967919081019061488e565b92989197509550909350915050565b600080610985836106ae61357c565b600061099e60048551866133fc9092919063ffffffff16565b8060200190516109b19190810190614c07565b9250905060ff811660038111156109c457fe5b925050915091565b6060600082519050806040519080825280602002602001820160405280156109fe578160200160208202803883390190505b50915060005b818114610a4757610a2885858381518110610a1b57fe5b602002602001015161239e565b838281518110610a3457fe5b6020908102919091010152600101610a04565b505092915050565b6040516060907ff47261b00000000000000000000000000000000000000000000000000000000090610a85908490602401614fb1565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050919050565b6000806000610ae4846106ae6135a0565b8351610afa90859060049063ffffffff6133fc16565b80602001905161088a91908101906143b2565b60608080806000610b24868263ffffffff61343f16565b90506001600160e01b031981167fdedfc1f1000000000000000000000000000000000000000000000000000000001415610b95576040518060400160405280601181526020017f626174636843616e63656c4f72646572730000000000000000000000000000008152509450611124565b6001600160e01b031981167f9694a402000000000000000000000000000000000000000000000000000000001415610c04576040518060400160405280600f81526020017f626174636846696c6c4f726465727300000000000000000000000000000000008152509450611124565b6001600160e01b031981167f8ea8dfe4000000000000000000000000000000000000000000000000000000001415610c73576040518060400160405280601681526020017f626174636846696c6c4f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167fbeee2e14000000000000000000000000000000000000000000000000000000001415610ce2576040518060400160405280601581526020017f626174636846696c6c4f724b696c6c4f726465727300000000000000000000008152509450611124565b6001600160e01b031981167f2da62987000000000000000000000000000000000000000000000000000000001415610d51576040518060400160405280600b81526020017f63616e63656c4f726465720000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f9b44d556000000000000000000000000000000000000000000000000000000001415610dc0576040518060400160405280600981526020017f66696c6c4f7264657200000000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167fe14b58c4000000000000000000000000000000000000000000000000000000001415610e2f576040518060400160405280600f81526020017f66696c6c4f724b696c6c4f7264657200000000000000000000000000000000008152509450611124565b6001600160e01b031981167f78d29ac1000000000000000000000000000000000000000000000000000000001415610e9e576040518060400160405280601681526020017f6d61726b65744275794f72646572734e6f5468726f77000000000000000000008152509450611124565b6001600160e01b031981167f369da099000000000000000000000000000000000000000000000000000000001415610f0d576040518060400160405280601781526020017f6d61726b657453656c6c4f72646572734e6f5468726f770000000000000000008152509450611124565b6001600160e01b031981167f8bc8efb3000000000000000000000000000000000000000000000000000000001415610f7c576040518060400160405280601981526020017f6d61726b65744275794f726465727346696c6c4f724b696c6c000000000000008152509450611124565b6001600160e01b031981167fa6c3bf33000000000000000000000000000000000000000000000000000000001415610feb576040518060400160405280601a81526020017f6d61726b657453656c6c4f726465727346696c6c4f724b696c6c0000000000008152509450611124565b6001600160e01b031981167f88ec79fb00000000000000000000000000000000000000000000000000000000141561105a576040518060400160405280600b81526020017f6d617463684f72646572730000000000000000000000000000000000000000008152509450611124565b6001600160e01b031981167f4f9559b10000000000000000000000000000000000000000000000000000000014806110bb57506001600160e01b031981167f2280c91000000000000000000000000000000000000000000000000000000000145b156110f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615630565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155f9565b6001600160e01b031981167fdedfc1f10000000000000000000000000000000000000000000000000000000014156111c957855161116c90879060049063ffffffff6135c416565b80602001905161117f9190810190614607565b604080516000808252602082019092529195505b50604080516000808252602082019092529194506111c1565b60608152602001906001900390816111ac5790505b509150611646565b6001600160e01b031981167fbeee2e1400000000000000000000000000000000000000000000000000000000148061122a57506001600160e01b031981167f9694a40200000000000000000000000000000000000000000000000000000000145b8061125e57506001600160e01b031981167f8ea8dfe400000000000000000000000000000000000000000000000000000000145b156112785761126c86613644565b91955093509150611646565b6001600160e01b031981167f2da629870000000000000000000000000000000000000000000000000000000014156113605760408051600180825281830190925290816020015b6112c7613c90565b8152602001906001900390816112bf57505086519094506112f290879060049063ffffffff6135c416565b8060200190516113059190810190614a61565b8460008151811061131257fe5b602002602001018190525060006040519080825280602002602001820160405280156111935781602001602082028038833901905050604080516000808252602082019092529194506111c1565b6001600160e01b031981167fe14b58c40000000000000000000000000000000000000000000000000000000014806113c157506001600160e01b031981167f9b44d55600000000000000000000000000000000000000000000000000000000145b156113cf5761126c86613673565b6001600160e01b031981167f78d29ac100000000000000000000000000000000000000000000000000000000148061143057506001600160e01b031981167f369da09900000000000000000000000000000000000000000000000000000000145b8061146457506001600160e01b031981167f8bc8efb300000000000000000000000000000000000000000000000000000000145b8061149857506001600160e01b031981167fa6c3bf3300000000000000000000000000000000000000000000000000000000145b156114a65761126c8661376d565b6001600160e01b031981167f88ec79fb000000000000000000000000000000000000000000000000000000001415611646576114e0613c90565b6114e8613c90565b60608061150260048b518c6135c49092919063ffffffff16565b8060200190516115159190810190614b43565b604080516002808252606082019092529498509296509094509250816020015b61153d613c90565b815260200190600190039081611535579050509750838860008151811061156057fe5b6020026020010181905250828860018151811061157957fe5b602090810291909101015260408051600280825260608201909252908160200160208202803883390190505096508360a00151876000815181106115b957fe5b6020026020010181815250508260a00151876001815181106115d757fe5b60209081029190910101526040805160028082526060820190925290816020015b60608152602001906001900390816115f8579050509550818660008151811061161d57fe5b6020026020010181905250808660018151811061163657fe5b6020026020010181905250505050505b509193509193565b60008061165d836106ae6137e1565b825161167390849060049063ffffffff6133fc16565b8060200190516108cf91908101906149b4565b600080611695836106ae613805565b82516116ab90849060049063ffffffff6133fc16565b8060200190516108cf9190810190614379565b6000806116d1838263ffffffff61343f16565b90506001600160e01b031981167ff47261b000000000000000000000000000000000000000000000000000000000141561184657600061171884601063ffffffff61347316565b6040519091506060907f70a082310000000000000000000000000000000000000000000000000000000090611751908890602401614fb1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516117cc9190614f95565b600060405180830381855afa9150503d8060008114611807576040519150601f19603f3d011682016040523d82523d6000602084013e61180c565b606091505b509150915081801561181f575080516020145b61182a57600061183b565b61183b81600063ffffffff6134a616565b955050505050611dcc565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156119e157600080611884856106fb565b6040519194509250606091507f6352211e00000000000000000000000000000000000000000000000000000000906118c0908490602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b03168360405161193b9190614f95565b600060405180830381855afa9150503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50915091506000828015611990575081516020145b61199b5760006119ac565b6119ac82600c63ffffffff61347316565b9050896001600160a01b0316816001600160a01b0316146119ce5760006119d1565b60015b60ff169750505050505050611dcc565b6001600160e01b031981167fa7cb5fb7000000000000000000000000000000000000000000000000000000001415611bc4576000606080611a2186611ec4565b5081519296509094509250905060005b818114611bba5783516060907efdd58e00000000000000000000000000000000000000000000000000000000908b90879085908110611a6c57fe5b6020026020010151604051602401611a85929190615089565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060876001600160a01b031683604051611b009190614f95565b600060405180830381855afa9150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b50915091506000828015611b55575081516020145b611b60576000611b71565b611b7182600063ffffffff6134a616565b90506000878681518110611b8157fe5b60200260200101518281611b9157fe5b0490508b811080611ba057508b155b15611ba957809b505b505060019093019250611a31915050565b5050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611d15576040516060907fa85e59e40000000000000000000000000000000000000000000000000000000090611c33908690600090819081906024016153fa565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260045491519092506000916001600160a01b031690611c9a908490614f95565b600060405180830381855afa9150503d8060008114611cd5576040519150601f19603f3d011682016040523d82523d6000602084013e611cda565b606091505b5050905080611cea576000611d0c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b93505050611dcc565b6001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415611dcc57606080611d53856121fc565b80519194509250905060005b818114611dc7576000611d8589858481518110611d7857fe5b60200260200101516116be565b90506000858381518110611d9557fe5b60200260200101518281611da557fe5b04905087811080611db4575087155b15611dbd578097505b5050600101611d5f565b505050505b5092915050565b600080611de6838263ffffffff61343f16565b91506001600160e01b031982167ff47261b00000000000000000000000000000000000000000000000000000000014611e4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b611e5c83601063ffffffff61347316565b9050915091565b60008060006060611e76856106ae613829565b6000611e8f60048751886133fc9092919063ffffffff16565b806020019051611ea29190810190614c76565b91965094509250905060ff81166006811115611eba57fe5b9450509193509193565b60008060608080611edb868563ffffffff61343f16565b94506001600160e01b031985167fa7cb5fb70000000000000000000000000000000000000000000000000000000014611f40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b505050506024828101516044840151606485015160848601519496929591820184019490820184019391010190565b6060808251604051908082528060200260200182016040528015611f9d578160200160208202803883390190505b50905060005b83518114611dcc57838181518110611fb757fe5b60200260200101516001600160a01b031631828281518110611fd557fe5b6020908102919091010152600101611fa3565b60606000845190508060405190808252806020026020018201604052801561201a578160200160208202803883390190505b50915060005b8181146120a25761206b86828151811061203657fe5b602002602001015186838151811061204a57fe5b602002602001015186848151811061205e57fe5b60200260200101516129e1565b83828151811061207757fe5b6020026020010190600481111561208a57fe5b9081600481111561209757fe5b905250600101612020565b50505b9392505050565b6040516060907f0257179200000000000000000000000000000000000000000000000000000000906120e49085908590602401615089565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152905092915050565b60006060806060612146856106ae61384d565b845161215c90869060049063ffffffff6133fc16565b80602001905161096791908101906143f4565b6040516060907fa7cb5fb700000000000000000000000000000000000000000000000000000000906121ab908790879087908790602401615003565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b0319909316929092179091529050949350505050565b6000606080612211848463ffffffff61343f16565b92506001600160e01b031983167f94cfcdd70000000000000000000000000000000000000000000000000000000014612276576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107749061569e565b835161228c90859060049063ffffffff6135c416565b80602001905161229f9190810190614817565b9395909450915050565b600060606122b9836106ae613871565b82516122cf90849060049063ffffffff6133fc16565b8060200190516108cf91908101906148f5565b6000806122f1836106ae613895565b600061230a60048551866133fc9092919063ffffffff16565b80602001905161231d9190810190614c07565b9250905060ff811660018111156109c457fe5b606060008251905080604051908082528060200260200182016040528015612362578160200160208202803883390190505b50915060005b818114610a475761237f85858381518110611d7857fe5b83828151811061238b57fe5b6020908102919091010152600101612368565b6000806123b1838263ffffffff61343f16565b90506001600160e01b031981167f94cfcdd7000000000000000000000000000000000000000000000000000000001415612463576060806123f1856121fc565b80519194509250905060005b81811461245857600061241689858481518110610a1b57fe5b9050600085838151811061242657fe5b6020026020010151828161243657fe5b04905087811080612445575087155b1561244e578097505b50506001016123fd565b5061084a9350505050565b6001600160e01b031981167ff47261b00000000000000000000000000000000000000000000000000000000014156124ee5760006124a884601063ffffffff61347316565b6001546040519192506060917fdd62ed3e00000000000000000000000000000000000000000000000000000000916117519189916001600160a01b031690602401614fc5565b6001600160e01b031981167f025717920000000000000000000000000000000000000000000000000000000014156127de5760008061252c856106fb565b600254604051929550909350606092507fe985e9c50000000000000000000000000000000000000000000000000000000091612578918a916001600160a01b0390911690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060846001600160a01b0316836040516125f39190614f95565b600060405180830381855afa9150503d806000811461262e576040519150601f19603f3d011682016040523d82523d6000602084013e612633565b606091505b509150915081158061264757508051602014155b80612663575061265e81600063ffffffff6134a616565b600114155b156127b1576040516060907f081812fc000000000000000000000000000000000000000000000000000000009061269e908790602401615731565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050856001600160a01b0316816040516127159190614f95565b600060405180830381855afa9150503d8060008114612750576040519150601f19603f3d011682016040523d82523d6000602084013e612755565b606091505b509093509150828015612769575081516020145b801561279857506002546001600160a01b031661278d83600c63ffffffff61347316565b6001600160a01b0316145b6127a35760006127a6565b60015b60ff16975050611bba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96505050505050611dcc565b6001600160e01b031981167fa7cb5fb700000000000000000000000000000000000000000000000000000000141561298657600061281b84611ec4565b5050600354604051929450606093507fe985e9c50000000000000000000000000000000000000000000000000000000092612865925089916001600160a01b031690602401614fc5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006060836001600160a01b0316836040516128e09190614f95565b600060405180830381855afa9150503d806000811461291b576040519150601f19603f3d011682016040523d82523d6000602084013e612920565b606091505b5091509150818015612933575080516020145b801561294f575061294b81600063ffffffff6134a616565b6001145b61295a57600061183b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955050505050611dcc565b6001600160e01b031981167fc339d10a000000000000000000000000000000000000000000000000000000001415611dcc57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b60006129eb613d23565b612a7c8584600560009054906101000a90046001600160a01b03166001600160a01b0316631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3e57600080fd5b505afa158015612a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a769190810190614bef565b3a6138b9565b60408051600480825260a0820190925291925060609190816020015b6060815260200190600190039081612a9857505060408051600480825260a082019092529192506060919060208201608080388339505060408051600480825260a08201909252929350606092915060208201608080388339505060408051600480825260a0820190925292935060609291506020820160808038833901905050905088610160015184600081518110612b2e57fe5b60200260200101819052508783600081518110612b4757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886000015182600081518110612b7957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681600081518110612ba757fe5b60200260200101818152505088610140015184600181518110612bc657fe5b6020026020010181905250886000015183600181518110612be357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508782600181518110612c1157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846000015181600181518110612c4357fe5b602002602001018181525050886101a0015184600281518110612c6257fe5b60200260200101819052508783600281518110612c7b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600281518110612cad57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846060015181600281518110612cdf57fe5b60200260200101818152505088610180015184600381518110612cfe57fe5b6020026020010181905250886000015183600381518110612d1b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050886040015182600381518110612d4d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050846040015181600381518110612d7f57fe5b60209081029190910101526040516060907fb04fbddd0000000000000000000000000000000000000000000000000000000090612dc69087908790879087906024016150a2565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199094169390931790925260055491519092506060916001600160a01b031690612e2d908490614f95565b6000604051808303816000865af19150503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b50915060009050612e86828263ffffffff61343f16565b9050612e90613534565b6001600160e01b031982811691161415612ed2576000612eaf836108d9565b5091505060ff81166004811115612ec257fe5b99505050505050505050506120a5565b612eda6134ec565b6001600160e01b031982811691161415612f0d576000612ef983610850565b509091505060ff81166004811115612ec257fe5b815160208301207ff43f26ea5a94b478394a975e856464913dc1a8a1ca70939d974aa7c238aa0ce01415612f4c576004985050505050505050506120a5565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610774906155c2565b6040516060907f94cfcdd700000000000000000000000000000000000000000000000000000000906120e49085908590602401615205565b606080606060008551905080604051908082528060200260200182016040528015612ffb57816020015b612fe8613d52565b815260200190600190039081612fe05790505b50935080604051908082528060200260200182016040528015613028578160200160208202803883390190505b50925080604051908082528060200260200182016040528015613055578160200160208202803883390190505b50915060005b8181146130e55761309287828151811061307157fe5b602002602001015187838151811061308557fe5b6020026020010151613107565b87518890859081106130a057fe5b602002602001018785815181106130b357fe5b602002602001018786815181106130c657fe5b931515602094850291909101909301929092529190525260010161305b565b50509250925092565b6060806130fb8484612330565b91506107c284846109cc565b61310f613d52565b600080546040517f9d3fa4b900000000000000000000000000000000000000000000000000000000815282916001600160a01b031690639d3fa4b9906131599088906004016156f9565b60606040518083038186803b15801561317157600080fd5b505afa158015613185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131a99190810190614a10565b85516000546040517fa12dcc6f00000000000000000000000000000000000000000000000000000000815292955090916001600160a01b039091169063a12dcc6f906131fb908990899060040161570c565b60206040518083038186803b15801561321357600080fd5b505afa158015613227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061324b919081019061486e565b9150600061325e82886101400151610828565b60a088015160c08901516101808a01516101408b01519394509192909160009161328d9163ffffffff61393016565b156132ba576132b3846132ad848d6080015161395590919063ffffffff16565b85613971565b9050613313565b816132ce576132b3848b6080015185613971565b60006132df868c6101800151610828565b905060006132f2868d6080015187613971565b90506000613301838688613971565b905061330d82826134d6565b93505050505b61333361332d89604001518561399b90919063ffffffff16565b826134d6565b965050505050509250925092565b6000806000613352846106ae6139ba565b600061336b60048651876133fc9092919063ffffffff16565b8060200190516108089190810190614c34565b7ffdb6ca8d0000000000000000000000000000000000000000000000000000000090565b60006133af83600061343f565b90506001600160e01b0319808216908316146133f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490615667565b505050565b60608183111561341a5761341a613415600085856139de565b613a4d565b83518211156134335761343361341560018487516139de565b50819003910190815290565b600081600401835110156134605761346061341560038551856004016139de565b5001602001516001600160e01b03191690565b600081601401835110156134945761349461341560048551856014016139de565b5001601401516001600160a01b031690565b60006120a58383613a55565b7f18e4b1410000000000000000000000000000000000000000000000000000000090565b60008183106134e557816120a5565b5090919050565b7f4678472b0000000000000000000000000000000000000000000000000000000090565b7fb6555d6f0000000000000000000000000000000000000000000000000000000090565b7f488219a60000000000000000000000000000000000000000000000000000000090565b7f1b8388f70000000000000000000000000000000000000000000000000000000090565b7fe94a7ed00000000000000000000000000000000000000000000000000000000090565b7f4ad312750000000000000000000000000000000000000000000000000000000090565b6060818311156135dd576135dd613415600085856139de565b83518211156135f6576135f661341560018487516139de565b8282036040519080825280601f01601f191660200182016040528015613623576020820181803883390190505b5090506120a561363282613a7f565b8461363c87613a7f565b018351613a85565b606080606061366060048551866135c49092919063ffffffff16565b80602001905161088a9190810190614715565b60408051600180825281830190925260609182918291816020015b613696613c90565b81526020019060019003908161368e5750506040805160018082528183019092529194506020808301908038833901905050604080516001808252818301909252919350816020015b60608152602001906001900390816136df575050845190915061370c90859060049063ffffffff6135c416565b80602001905161371f9190810190614b9c565b8560008151811061372c57fe5b602002602001018560008151811061374057fe5b602002602001018560008151811061375457fe5b6020908102919091010192909252919052529193909250565b6040805160018082528183019092526060918291829160208083019080388339505085519193506137a99186915060049063ffffffff6135c416565b8060200190516137bc919081019061478f565b845185906000906137c957fe5b60209081029190910101919091529095929450925050565b7f11c7b7200000000000000000000000000000000000000000000000000000000090565b7fa15c0d060000000000000000000000000000000000000000000000000000000090565b7f7e5a23180000000000000000000000000000000000000000000000000000000090565b7f5bd0428d0000000000000000000000000000000000000000000000000000000090565b7f20d11f610000000000000000000000000000000000000000000000000000000090565b7ff59851840000000000000000000000000000000000000000000000000000000090565b6138c1613d23565b6020810184905260a085015160808601516138dd918691613b2a565b815260a085015160c08601516138f4918691613b2a565b604082015260a085015160e086015161390e918691613b2a565b6060820152613923828463ffffffff613b5e16565b6080820152949350505050565b6000815183511480156120a55750508051602091820120825192909101919091201490565b6000828201838110156120a5576120a561341560008686613b8b565b600061399383613987868563ffffffff613b5e16565b9063ffffffff613baa16565b949350505050565b6000828211156139b4576139b461341560028585613b8b565b50900390565b7fe53c76c80000000000000000000000000000000000000000000000000000000090565b6060632800659560e01b8484846040516024016139fd939291906154cf565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915290509392505050565b805160208201fd5b60008160200183511015613a7657613a7661341560058551856020016139de565b50016020015190565b60200190565b6020811015613aaf576001816020036101000a0380198351168185511680821786525050506133f7565b82821415613abc576133f7565b82821115613af65760208103905080820181840181515b82851015613aee578451865260209586019590940193613ad3565b9052506133f7565b60208103905080820181840183515b81861215613b215782518252601f199283019290910190613b05565b85525050505050565b6000613b37848484613bd4565b15613b4a57613b4a613415858585613c3a565b61399383613987868563ffffffff613b5e16565b600082613b6d5750600061084a565b82820282848281613b7a57fe5b04146120a5576120a5613415600186865b606063e946c1bb60e01b8484846040516024016139fd93929190615460565b600081613bc057613bc061341560038585613b8b565b6000828481613bcb57fe5b04949350505050565b600082613be657613be6613415613c59565b811580613bf1575083155b15613bfe575060006120a5565b60008380613c0857fe5b8584099050613c1d858463ffffffff613b5e16565b613c2f826103e863ffffffff613b5e16565b101595945050505050565b606063339f3de260e01b8484846040516024016139fd9392919061573a565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b803561084a81615816565b805161084a81615816565b600082601f830112613d98578081fd5b8135613dab613da682615777565b615750565b818152915060208083019084810181840286018201871015613dcc57600080fd5b60005b84811015611dc7578135613de281615816565b84529282019290820190600101613dcf565b600082601f830112613e04578081fd5b8151613e12613da682615777565b8181529150602080830190840160005b83811015613e4f57613e3a8760208451890101614074565b83526020928301929190910190600101613e22565b5050505092915050565b600082601f830112613e69578081fd5b8135613e77613da682615777565b8181529150602080830190840160005b83811015613e4f57613e9f8760208435890101614026565b83526020928301929190910190600101613e87565b600082601f830112613ec4578081fd5b8151613ed2613da682615777565b8181529150602080830190840160005b83811015613e4f57613efa8760208451890101614209565b83526020928301929190910190600101613ee2565b600082601f830112613f1f578081fd5b8135613f2d613da682615777565b8181529150602080830190840160005b83811015613e4f57613f5587602084358901016140ba565b83526020928301929190910190600101613f3d565b600082601f830112613f7a578081fd5b8151613f88613da682615777565b818152915060208083019084810181840286018201871015613fa957600080fd5b60005b84811015611dc757815184529282019290820190600101613fac565b600082601f830112613fd8578081fd5b8135613fe6613da682615777565b81815291506020808301908481018184028601820187101561400757600080fd5b60005b84811015611dc75781358452928201929082019060010161400a565b600082601f830112614036578081fd5b8135614044613da682615797565b915080825283602082850101111561405b57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112614084578081fd5b8151614092613da682615797565b91508082528360208285010111156140a957600080fd5b611dcc8160208401602086016157bb565b60006101c08083850312156140cd578182fd5b6140d681615750565b9150506140e38383613d72565b81526140f28360208401613d72565b60208201526141048360408401613d72565b60408201526141168360608401613d72565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff8082111561417857600080fd5b61418486838701614026565b838501526101609250828501359150808211156141a057600080fd5b6141ac86838701614026565b838501526101809250828501359150808211156141c857600080fd5b6141d486838701614026565b838501526101a09250828501359150808211156141f057600080fd5b506141fd85828601614026565b82840152505092915050565b60006101c080838503121561421c578182fd5b61422581615750565b9150506142328383613d7d565b81526142418360208401613d7d565b60208201526142538360408401613d7d565b60408201526142658360608401613d7d565b60608201526080820151608082015260a082015160a082015260c082015160c082015260e082015160e08201526101008083015181830152506101208083015181830152506101408083015167ffffffffffffffff808211156142c757600080fd5b6142d386838701614074565b838501526101609250828501519150808211156142ef57600080fd5b6142fb86838701614074565b8385015261018092508285015191508082111561431757600080fd5b61432386838701614074565b838501526101a092508285015191508082111561433f57600080fd5b506141fd85828601614074565b805160ff8116811461084a57600080fd5b60006020828403121561436e578081fd5b81356120a581615816565b6000806040838503121561438b578081fd5b825161439681615816565b60208401519092506143a781615816565b809150509250929050565b6000806000606084860312156143c6578081fd5b83516143d181615816565b60208501519093506143e281615816565b80925050604084015190509250925092565b60008060008060808587031215614409578182fd5b845161441481615816565b602086015190945067ffffffffffffffff80821115614431578384fd5b61443d88838901614074565b94506040870151915080821115614452578384fd5b61445e88838901614074565b93506060870151915080821115614473578283fd5b5061448087828801614074565b91505092959194509250565b6000806040838503121561449e578182fd5b82356144a981615816565b9150602083013567ffffffffffffffff8111156144c4578182fd5b6144d085828601613e59565b9150509250929050565b600080600080608085870312156144ef578182fd5b84356144fa81615816565b9350602085013567ffffffffffffffff80821115614516578384fd5b61452288838901613fc8565b94506040870135915080821115614537578384fd5b61454388838901613fc8565b93506060870135915080821115614558578283fd5b5061448087828801614026565b60008060408385031215614577578182fd5b823561458281615816565b9150602083013567ffffffffffffffff81111561459d578182fd5b6144d085828601614026565b600080604083850312156145bb578182fd5b82356145c681615816565b946020939093013593505050565b6000602082840312156145e5578081fd5b813567ffffffffffffffff8111156145fb578182fd5b61399384828501613d88565b600060208284031215614618578081fd5b815167ffffffffffffffff81111561462e578182fd5b61399384828501613eb4565b60008060006060848603121561464e578081fd5b833567ffffffffffffffff80821115614665578283fd5b61467187838801613f0f565b94506020860135915080821115614686578283fd5b61469287838801613d88565b935060408601359150808211156146a7578283fd5b506146b486828701613fc8565b9150509250925092565b600080604083850312156146d0578182fd5b823567ffffffffffffffff808211156146e7578384fd5b6146f386838701613f0f565b93506020850135915080821115614708578283fd5b506144d085828601613e59565b600080600060608486031215614729578081fd5b835167ffffffffffffffff80821115614740578283fd5b61474c87838801613eb4565b94506020860151915080821115614761578283fd5b61476d87838801613f6a565b93506040860151915080821115614782578283fd5b506146b486828701613df4565b6000806000606084860312156147a3578081fd5b835167ffffffffffffffff808211156147ba578283fd5b6147c687838801613eb4565b9450602086015193506040860151915080821115614782578283fd5b600080604083850312156147f4578182fd5b823567ffffffffffffffff8082111561480b578384fd5b6146f386838701613fc8565b60008060408385031215614829578182fd5b825167ffffffffffffffff80821115614840578384fd5b61484c86838701613f6a565b93506020850151915080821115614861578283fd5b506144d085828601613df4565b60006020828403121561487f578081fd5b815180151581146120a5578182fd5b600080600080608085870312156148a3578182fd5b8451935060208501516148b581615816565b604086015190935067ffffffffffffffff80821115614452578384fd5b600080604083850312156148e4578182fd5b505080516020909101519092909150565b60008060408385031215614907578182fd5b82519150602083015167ffffffffffffffff811115614924578182fd5b6144d085828601614074565b600080600060608486031215614944578081fd5b83519250602084015167ffffffffffffffff80821115614962578283fd5b61496e87838801614074565b93506040860151915080821115614983578283fd5b506146b486828701614074565b600080604083850312156149a2578182fd5b8251915060208301516143a78161582b565b600080604083850312156149c6578182fd5b82516001600160e01b031981168114614396578283fd5b6000602082840312156149ee578081fd5b813567ffffffffffffffff811115614a04578182fd5b61399384828501614026565b60006060828403128015614a22578182fd5b8015614a2c578182fd5b50614a376060615750565b8251614a428161582b565b8152602083810151908201526040928301519281019290925250919050565b600060208284031215614a72578081fd5b815167ffffffffffffffff811115614a88578182fd5b61399384828501614209565b600080600060608486031215614aa8578081fd5b833567ffffffffffffffff811115614abe578182fd5b614aca868287016140ba565b9350506020840135614adb81615816565b929592945050506040919091013590565b60008060408385031215614afe578182fd5b823567ffffffffffffffff80821115614b15578384fd5b614b21868387016140ba565b93506020850135915080821115614b36578283fd5b506144d085828601614026565b60008060008060808587031215614b58578182fd5b845167ffffffffffffffff80821115614b6f578384fd5b614b7b88838901614209565b95506020870151915080821115614b90578384fd5b61443d88838901614209565b600080600060608486031215614bb0578081fd5b835167ffffffffffffffff80821115614bc7578283fd5b614bd387838801614209565b9450602086015193506040860151915080821115614983578283fd5b600060208284031215614c00578081fd5b5051919050565b60008060408385031215614c19578182fd5b8251614c248161582b565b6020939093015192949293505050565b600080600060608486031215614c48578081fd5b8351614c538161582b565b602085015160408601519194509250614c6b81615816565b809150509250925092565b60008060008060808587031215614c8b578182fd5b614c95868661434c565b9350602085015192506040850151614cac81615816565b606086015190925067ffffffffffffffff811115614cc8578182fd5b61448087828801614074565b600080600060608486031215614ce8578081fd5b614cf2858561434c565b925060208401519150604084015167ffffffffffffffff811115614d14578182fd5b6146b486828701614074565b600080600060608486031215614d34578081fd5b614d3e858561434c565b925060208401519150604084015190509250925092565b1515815260200190565b6000614d6b8383614e78565b505060600190565b6001600160a01b03169052565b6000815180845260208401935060208301825b82811015614dba5781516001600160a01b0316865260209586019590910190600101614d93565b5093949350505050565b600081518084526020840180819550602083028101915060208501845b84811015614e0f578284038852614df9848351614e4c565b6020988901989094509190910190600101614de1565b50919695505050505050565b6000815180845260208401935060208301825b82811015614dba578151865260209586019590910190600101614e2e565b60008151808452614e648160208601602086016157bb565b601f01601f19169290920160200192915050565b805160ff16825260208082015190830152604090810151910152565b60006101c0614ea4848451614d73565b6020830151614eb66020860182614d73565b506040830151614ec96040860182614d73565b506060830151614edc6060860182614d73565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401518282870152614f3583870182614e4c565b91505061016091508184015185820383870152614f528282614e4c565b925050506101808084015185830382870152614f6e8382614e4c565b9150506101a091508184015185820383870152614f8b8282614e4c565b9695505050505050565b60008251614fa78184602087016157bb565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252608060208301526150256080830186614e1b565b82810360408401526150378186614e1b565b83810360608501526150498186614e4c565b98975050505050505050565b60006001600160a01b0386168252608060208301526150776080830186614e4c565b82810360408401526150378186614e4c565b6001600160a01b03929092168252602082015260400190565b6000608082526150b56080830187614dc4565b82810360208401526150c78187614d80565b83810360408501526150d98187614d80565b91505082810360608401526150ee8185614e1b565b979650505050505050565b602080825282518282018190526000918401906040840190835b8181101561513b5783516005811061512757fe5b835260209384019390920191600101615113565b509095945050505050565b6000606082016060835280865161515d8184615731565b9150602088019250835b8181101561518b5761517a838551614d5f565b602094909401939250600101615167565b5050838103602085015261519f8187614e1b565b91505082810360408401528084516151b78184615731565b9150602086019250835b818110156151e5576151d4838551614d55565b6020949094019392506001016151c1565b5090979650505050505050565b6000602082526120a56020830184614e1b565b6000604082526152186040830185614e1b565b828103602084015261522a8185614dc4565b95945050505050565b6000604082526152466040830185614e1b565b828103602084015261522a8185614e1b565b60008582526001600160a01b0385166020830152608060408301526152806080830185614e4c565b82810360608401526150ee8185614e4c565b918252602082015260400190565b6000838252604060208301526139936040830184614e4c565b6000848252606060208301526152d26060830185614e4c565b8281036040840152614f8b8185614e4c565b828152604081016152f48361580c565b8260208301529392505050565b6001600160e01b03199290921682526001600160a01b0316602082015260400190565b60006001600160e01b0319871682526001600160a01b038616602083015260a0604083015261535660a0830186614e1b565b82810360608401526153688186614e1b565b838103608085015261537a8186614e4c565b9998505050505050505050565b6001600160e01b03199390931683526001600160a01b03919091166020830152604082015260600190565b60006001600160e01b031985168252606060208301526153d56060830185614e1b565b8281036040840152614f8b8185614dc4565b6000602082526120a56020830184614e4c565b60006080825261540d6080830187614e4c565b6001600160a01b03958616602084015293909416604082015260ff9190911660609091015292915050565b6000615443856157eb565b8482528360208301526060604083015261522a6060830184614e4c565b6060810161546d856157f8565b938152602081019290925260409091015290565b6060810161548e85615802565b93815260208101929092526001600160a01b031660409091015290565b604081016154b8846157f8565b9281526020015290565b6060810161546d85615802565b606081016008851061546d57fe5b60208101600583106154eb57fe5b91905290565b60006154fc8661580c565b8582528460208301526001600160a01b038416604083015260806060830152614f8b6080830184614e4c565b604081016154b8846157eb565b6000608082526155486080830187614e4c565b602083820381850152818751808452828401915082838202850101838a01865b8381101561559657601f19878403018552615584838351614e94565b94860194925090850190600101615568565b505086810360408801526155aa818a614e1b565b94505050505082810360608401526150ee8185614dc4565b60208082526013908201527f554e4b4e4f574e5f52455455524e5f4441544100000000000000000000000000604082015260600190565b60208082526019908201527f554e4b4e4f574e5f46554e4354494f4e5f53454c4543544f5200000000000000604082015260600190565b6020808252600d908201527f554e494d504c454d454e54454400000000000000000000000000000000000000604082015260600190565b6020808252600c908201527f4241445f53454c4543544f520000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f57524f4e475f50524f58595f4944000000000000000000000000000000000000604082015260600190565b60a081016156e38286614e78565b8360608301528215156080830152949350505050565b6000602082526120a56020830184614e94565b60006040825261571f6040830185614e94565b828103602084015261522a8185614e4c565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561576f57600080fd5b604052919050565b600067ffffffffffffffff82111561578d578081fd5b5060209081020190565b600067ffffffffffffffff8211156157ad578081fd5b50601f01601f191660200190565b60005b838110156157d65781810151838201526020016157be565b838111156157e5576000848401525b50505050565b600281106157f557fe5b50565b600481106157f557fe5b600381106157f557fe5b600781106157f557fe5b6001600160a01b03811681146157f557600080fd5b60ff811681146157f557600080fdfea365627a7a723158200ea049525ebc74d73f3bf7858c601bd21168267b0dfb4abbdb7787cfd7233a2c6c6578706572696d656e74616cf564736f6c634300050c0040" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L31)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4241](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4241)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4194)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4161](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4161)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### decodeAssetProxyDispatchError + +#### ▪ **decodeAssetProxyDispatchError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L36)* + +Decompose an ABI-encoded AssetProxyDispatchError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L44)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[number, string, string]>`* + +errorCode The error code.orderHash Hash of the order being dispatched.assetData Asset data of the order being dispatched. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:109](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L109)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[number, string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:97](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L97)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L84)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeAssetProxyExistsError + +#### ▪ **decodeAssetProxyExistsError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L120)* + +Decompose an ABI-encoded AssetProxyExistsError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L128)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string]>`* + +assetProxyId Id of asset proxy.assetProxyAddress The address of the asset proxy. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:193](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L193)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L181)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L168)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeAssetProxyTransferError + +#### ▪ **decodeAssetProxyTransferError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L204)* + +Decompose an ABI-encoded AssetProxyTransferError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L212)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string, string]>`* + +orderHash Hash of the order being dispatched.assetData Asset data of the order being dispatched.errorData ABI-encoded revert data from the asset proxy. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:277](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L277)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:265](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L265)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:252](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L252)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeEIP1271SignatureError + +#### ▪ **decodeEIP1271SignatureError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:288](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L288)* + +Decompose an ABI-encoded SignatureValidatorError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:296](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L296)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string, string, string]>`* + +signerAddress The expected signer of the hash.signature The full signature bytes.errorData The revert data thrown by the validator contract. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L361)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string, string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L349)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L336)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeERC1155AssetData + +#### ▪ **decodeERC1155AssetData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L374)* + +Decode ERC-1155 asset data from the format described in the AssetProxy contract specification. + +#### callAsync + +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber[], BigNumber[], string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:383](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L383)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-1155 set of assets. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string, BigNumber[], BigNumber[], string]>`* + +The ERC-1155 AssetProxy identifier, the address of the ERC-1155 contract hosting the assets, an array of the identifiers of the assets to be traded, an array of asset amounts to be traded, and callback data. Each element of the arrays corresponds to the same-indexed element of the other array. Return values specified as `memory` are returned as pointers to locations within the memory of the input parameter `assetData`. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`[], `BigNumber`[], string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L449)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string, `BigNumber`[], `BigNumber`[], string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:437](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L437)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:426](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L426)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetProxy-compliant asset data describing an ERC-1155 set of assets. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeERC20AssetData + +#### ▪ **decodeERC20AssetData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:462](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L462)* + +Decode ERC-20 asset data from the format described in the AssetProxy contract specification. + +#### callAsync + +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:470](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L470)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-20 asset. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string]>`* + +The ERC-20 AssetProxy identifier, and the address of the ERC-20 contract hosting this asset. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:533](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L533)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:521](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L521)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:510](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L510)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetProxy-compliant asset data describing an ERC-20 asset. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeERC721AssetData + +#### ▪ **decodeERC721AssetData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:544](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L544)* + +Decode ERC-721 asset data from the format described in the AssetProxy contract specification. + +#### callAsync + +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:553](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L553)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | AssetProxy-compliant asset data describing an ERC-721 asset. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string, BigNumber]>`* + +The ERC-721 AssetProxy identifier, the address of the ERC-721 contract hosting this asset, and the identifier of the specific asset to be traded. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L617)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string, `BigNumber`]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:605](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L605)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:594](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L594)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetProxy-compliant asset data describing an ERC-721 asset. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeExchangeInvalidContextError + +#### ▪ **decodeExchangeInvalidContextError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L628)* + +Decompose an ABI-encoded OrderStatusError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:636](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L636)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[number, string, string]>`* + +errorCode Error code that corresponds to invalid maker, taker, or sender.orderHash The order hash.contextAddress The maker, taker, or sender address + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:701](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L701)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[number, string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L689)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L676)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeFillError + +#### ▪ **decodeFillError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:712](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L712)* + +Decompose an ABI-encoded FillError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:720](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L720)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[number, string]>`* + +errorCode The error code.orderHash The order hash. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:783](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L783)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[number, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:771](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L771)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:760](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L760)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeIncompleteFillError + +#### ▪ **decodeIncompleteFillError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:794](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L794)* + +Decompose an ABI-encoded IncompleteFillError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, BigNumber, BigNumber]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:802](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L802)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[number, BigNumber, BigNumber]>`* + +orderHash Hash of the order being filled. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, `BigNumber`, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:867](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L867)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[number, `BigNumber`, `BigNumber`]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:855](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L855)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:842](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L842)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeMultiAssetData + +#### ▪ **decodeMultiAssetData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:878](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L878)* + +Decode multi-asset data from the format described in the AssetProxy contract specification. + +#### callAsync + +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, BigNumber[], string[]]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:886](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L886)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | AssetProxy-compliant data describing a multi-asset basket. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, BigNumber[], string[]]>`* + +The Multi-Asset AssetProxy identifier, an array of the amounts of the assets to be traded, and an array of the AssetProxy-compliant data describing each asset to be traded. Each element of the arrays corresponds to the same-indexed element of the other array. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, `BigNumber`[], string[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:949](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L949)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, `BigNumber`[], string[]]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:937](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L937)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:926](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L926)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetProxy-compliant data describing a multi-asset basket. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeNegativeSpreadError + +#### ▪ **decodeNegativeSpreadError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:962](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L962)* + +Decompose an ABI-encoded NegativeSpreadError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:970](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L970)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string]>`* + +leftOrderHash Hash of the left order being matched.rightOrderHash Hash of the right order being matched. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1035](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1035)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1023](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1023)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1010](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1010)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeOrderEpochError + +#### ▪ **decodeOrderEpochError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1046](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1046)* + +Decompose an ABI-encoded OrderEpochError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, BigNumber]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1054](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1054)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string, BigNumber]>`* + +makerAddress The order maker.orderSenderAddress The order sender.currentEpoch The current epoch for the maker. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1117)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string, `BigNumber`]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1105](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1105)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1094](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1094)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeOrderStatusError + +#### ▪ **decodeOrderStatusError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1128)* + +Decompose an ABI-encoded OrderStatusError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, number]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1136)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, number]>`* + +orderHash The order hash.orderStatus The order status. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, number]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1199](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1199)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, number]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1187)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1176](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1176)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeSignatureError + +#### ▪ **decodeSignatureError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1210](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1210)* + +Decompose an ABI-encoded SignatureError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string, string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1218)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[number, string, string, string]>`* + +errorCode The error code.signerAddress The expected signer of the hash.signature The full signature. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string, string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1281)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[number, string, string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1269](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1269)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1258](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1258)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeSignatureValidatorNotApprovedError + +#### ▪ **decodeSignatureValidatorNotApprovedError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1294](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1294)* + +Decompose an ABI-encoded SignatureValidatorNotApprovedError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1302](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1302)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string]>`* + +signerAddress The expected signer of the hash.validatorAddress The expected validator. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1370](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1370)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1358)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1344](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1344)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeSignatureWalletError + +#### ▪ **decodeSignatureWalletError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1381)* + +Decompose an ABI-encoded SignatureWalletError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string, string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1389)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string, string, string]>`* + +errorCode The error code.signerAddress The expected signer of the hash.signature The full signature bytes.errorData The revert data thrown by the validator contract. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string, string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1454](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1454)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string, string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1442)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1429)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeTransactionError + +#### ▪ **decodeTransactionError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1467](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1467)* + +Decompose an ABI-encoded TransactionError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[number, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1475)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[number, string]>`* + +errorCode The error code.transactionHash Hash of the transaction. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[number, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1538](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1538)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[number, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1526](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1526)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1515](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1515)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeTransactionExecutionError + +#### ▪ **decodeTransactionExecutionError**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1549](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1549)* + +Decompose an ABI-encoded TransactionExecutionError. + +#### callAsync + +▸ **callAsync**(`encoded`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, string]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1557](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1557)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`encoded` | string | - | ABI-encoded revert error. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, string]>`* + +transactionHash Hash of the transaction.errorData Error thrown by exeucteTransaction(). + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1622)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, string]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1610](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1610)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`encoded`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1597](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1597)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`encoded` | string | ABI-encoded revert error. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decodeZeroExTransactionData + +#### ▪ **decodeZeroExTransactionData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1633](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1633)* + +Decodes the call data for an Exchange contract method call. + +#### callAsync + +▸ **callAsync**(`transactionData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[string, Array, BigNumber[], string[]]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1642](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1642)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`transactionData` | string | - | ABI-encoded calldata for an Exchange contract method call. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[string, Array, BigNumber[], string[]]>`* + +The name of the function called, and the parameters it was given. For single-order fills and cancels, the arrays will have just one element. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[string, `Array`, `BigNumber`[], string[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1752](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1752)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[string, `Array`, `BigNumber`[], string[]]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1740](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1740)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`transactionData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1727](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1727)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transactionData` | string | ABI-encoded calldata for an Exchange contract method call. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### encodeERC1155AssetData + +#### ▪ **encodeERC1155AssetData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1807](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1807)* + +Encode ERC-1155 asset data into the format described in the AssetProxy contract specification. + +#### callAsync + +▸ **callAsync**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1820](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1820)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`tokenAddress` | string | - | The address of the ERC-1155 contract hosting the asset(s) to be traded. | +`tokenIds` | `BigNumber`[] | - | The identifiers of the specific assets to be traded. | +`tokenValues` | `BigNumber`[] | - | The amounts of each asset to be traded. | +`callbackData` | string | - | Data to be passed to receiving contracts when a transfer is performed. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +AssetProxy-compliant asset data describing the set of assets. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1908](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1908)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1896](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1896)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1874](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1874)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`tokenAddress` | string | The address of the ERC-1155 contract hosting the asset(s) to be traded. | +`tokenIds` | `BigNumber`[] | The identifiers of the specific assets to be traded. | +`tokenValues` | `BigNumber`[] | The amounts of each asset to be traded. | +`callbackData` | string | Data to be passed to receiving contracts when a transfer is performed. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### encodeERC20AssetData + +#### ▪ **encodeERC20AssetData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1919](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1919)* + +Encode ERC-20 asset data into the format described in the AssetProxy contract specification. + +#### callAsync + +▸ **callAsync**(`tokenAddress`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1928](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1928)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`tokenAddress` | string | - | The address of the ERC-20 contract hosting the asset to be traded. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +AssetProxy-compliant data describing the asset. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1996](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1996)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1984](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1984)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`tokenAddress`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:1971](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L1971)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`tokenAddress` | string | The address of the ERC-20 contract hosting the asset to be traded. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### encodeERC721AssetData + +#### ▪ **encodeERC721AssetData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2007](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2007)* + +Encode ERC-721 asset data into the format described in the AssetProxy specification. + +#### callAsync + +▸ **callAsync**(`tokenAddress`: string, `tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2017](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2017)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`tokenAddress` | string | - | The address of the ERC-721 contract hosting the asset to be traded. | +`tokenId` | `BigNumber` | - | The identifier of the specific asset to be traded. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +AssetProxy-compliant asset data describing the asset. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2091](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2091)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2079](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2079)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`tokenAddress`: string, `tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2064](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2064)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`tokenAddress` | string | The address of the ERC-721 contract hosting the asset to be traded. | +`tokenId` | `BigNumber` | The identifier of the specific asset to be traded. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### encodeMultiAssetData + +#### ▪ **encodeMultiAssetData**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2102)* + +Encode data for multiple assets, per the AssetProxy contract specification. + +#### callAsync + +▸ **callAsync**(`amounts`: `BigNumber`[], `nestedAssetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2112)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`amounts` | `BigNumber`[] | - | The amounts of each asset to be traded. | +`nestedAssetData` | string[] | - | AssetProxy-compliant data describing each asset to be traded. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +AssetProxy-compliant data describing the set of assets. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2186)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2174](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2174)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`BigNumber`[]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`amounts`: `BigNumber`[], `nestedAssetData`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2159)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`amounts` | `BigNumber`[] | The amounts of each asset to be traded. | +`nestedAssetData` | string[] | AssetProxy-compliant data describing each asset to be traded. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getAssetProxyAllowance + +#### ▪ **getAssetProxyAllowance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2197)* + +Returns the number of asset(s) (described by assetData) that the corresponding AssetProxy contract is authorized to spend. When the asset data contains multiple assets (eg for Multi-Asset), the return value indicates how many complete "baskets" of those assets may be spent by all of the corresponding AssetProxy contracts. + +#### callAsync + +▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2207](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2207)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2289)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2277](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2277)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2262](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2262)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getBalance + +#### ▪ **getBalance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2300](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2300)* + +Returns the owner's balance of the assets(s) specified in assetData. When the asset data contains multiple assets (eg in ERC1155 or Multi-Asset), the return value indicates how many complete "baskets" of those assets are owned by owner. + +#### callAsync + +▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2310](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2310)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Number of assets (or asset baskets) held by owner. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2392)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2380](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2380)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2365](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2365)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getBalanceAndAssetProxyAllowance + +#### ▪ **getBalanceAndAssetProxyAllowance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2403](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2403)* + +Calls getBalance() and getAllowance() for assetData. + +#### callAsync + +▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber, BigNumber]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2413](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2413)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string | - | Details of asset, encoded per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[BigNumber, BigNumber]>`* + +Number of assets (or asset baskets) held by owner, and number of assets (or asset baskets) that the corresponding AssetProxy is authorized to spend. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2495](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2495)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[`BigNumber`, `BigNumber`]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2483)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2468)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string | Details of asset, encoded per the AssetProxy contract specification. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getBatchAssetProxyAllowances + +#### ▪ **getBatchAssetProxyAllowances**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2506](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2506)* + +Calls getAssetProxyAllowance() for each element of assetData. + +#### callAsync + +▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2516](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2516)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +An array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2598](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2598)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`[]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2586](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2586)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2571](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2571)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getBatchBalances + +#### ▪ **getBatchBalances**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2609](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2609)* + +Calls getBalance() for each element of assetData. + +#### callAsync + +▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2619](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2619)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Array of asset balances from getBalance(), with each element corresponding to the same-indexed element in the assetData input. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2701](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2701)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`[]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2689)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2674)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getBatchBalancesAndAssetProxyAllowances + +#### ▪ **getBatchBalancesAndAssetProxyAllowances**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2712](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2712)* + +Calls getBatchBalances() and getBatchAllowances() for each element of assetData. + +#### callAsync + +▸ **callAsync**(`ownerAddress`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber[], BigNumber[]]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2722](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2722)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Owner of the assets specified by assetData. | +`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[BigNumber[], BigNumber[]]>`* + +An array of asset balances from getBalance(), and an array of asset allowances from getAllowance(), with each element corresponding to the same-indexed element in the assetData input. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`[], `BigNumber`[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2804](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2804)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[`BigNumber`[], `BigNumber`[]]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2792](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2792)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string[]]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2777](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2777)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`ownerAddress` | string | Owner of the assets specified by assetData. | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getEthBalances + +#### ▪ **getEthBalances**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2815](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2815)* + +Batch fetches ETH balances + +#### callAsync + +▸ **callAsync**(`addresses`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2823](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2823)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`addresses` | string[] | - | Array of addresses. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Array of ETH balances. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2894](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2894)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`[]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2882](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2882)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string[]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`addresses`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2871](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2871)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`addresses` | string[] | Array of addresses. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getOrderRelevantState + +#### ▪ **getOrderRelevantState**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2905](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2905)* + +Fetches all order-relevant information needed to validate if the supplied order is fillable. + +#### callAsync + +▸ **callAsync**(`order`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[object, BigNumber, boolean]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2916](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2916)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | The order structure. | +`signature` | string | - | Signature provided by maker that proves the order's authenticity. `0x01` can always be provided if the signature does not need to be validated. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[object, BigNumber, boolean]>`* + +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. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[object, `BigNumber`, boolean]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3078](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3078)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[object, `BigNumber`, boolean]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3024](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3024)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[object, string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:2992](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L2992)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The order structure. | +`signature` | string | Signature provided by maker that proves the order's authenticity. `0x01` can always be provided if the signature does not need to be validated. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getOrderRelevantStates + +#### ▪ **getOrderRelevantStates**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3095](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3095)* + +Fetches all order-relevant information needed to validate if the supplied orders are fillable. + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[Array, BigNumber[], boolean[]]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3106](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3106)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order structures. | +`signatures` | string[] | - | 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. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[Array, BigNumber[], boolean[]]>`* + +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. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[`Array`, `BigNumber`[], boolean[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3278](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3278)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[`Array`, `BigNumber`[], boolean[]]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, string[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3224)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`Array`, string[]]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3191](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3191)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order structures. | +`signatures` | string[] | 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. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getSimulatedOrderTransferResults + +#### ▪ **getSimulatedOrderTransferResults**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3303](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3303)* + +Simulates all of the transfers within an order and returns the index of the first failed transfer. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3368](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3368)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The order to simulate transfers for. | +`takerAddress` | string | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | The amount of takerAsset that the taker wished to fill. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3509](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3509)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | The order to simulate transfers for. | +`takerAddress` | string | - | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | - | The amount of takerAsset that the taker wished to fill. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The index of the first failed transfer (or 4 if all transfers are successful). + +#### estimateGasAsync + +▸ **estimateGasAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3421](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3421)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The order to simulate transfers for. | +`takerAddress` | string | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | The amount of takerAsset that the taker wished to fill. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *number* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3663](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3663)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *number* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3617)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3583](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3583)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The order to simulate transfers for. | +`takerAddress` | string | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | The amount of takerAsset that the taker wished to fill. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3314](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3314)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The order to simulate transfers for. | +`takerAddress` | string | The address of the taker that will fill the order. | +`takerAssetFillAmount` | `BigNumber` | The amount of takerAsset that the taker wished to fill. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`order`: object, `takerAddress`: string, `takerAssetFillAmount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3464](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3464)* + +**Parameters:** + +Name | Type | +------ | ------ | +`order` | object | +`takerAddress` | string | +`takerAssetFillAmount` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### getSimulatedOrdersTransferResults + +#### ▪ **getSimulatedOrdersTransferResults**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3676)* + +Simulates all of the transfers for each given order and returns the indices of each first failed transfer. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3744](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3744)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of amounts of takerAsset that will be filled for each order. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3889](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3889)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | - | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | - | Array of amounts of takerAsset that will be filled for each order. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The indices of the first failed transfer (or 4 if all transfers are successful) for each order. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3799](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3799)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of amounts of takerAsset that will be filled for each order. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *number[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4048](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4048)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *number[]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4000](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4000)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3965](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3965)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of amounts of takerAsset that will be filled for each order. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3688](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3688)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of orders to individually simulate transfers for. | +`takerAddresses` | string[] | Array of addresses of takers that will fill each order. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of amounts of takerAsset that will be filled for each order. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAddresses`: string[], `takerAssetFillAmounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:3843](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L3843)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAddresses` | string[] | +`takerAssetFillAmounts` | `BigNumber`[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### getTransferableAssetAmount + +#### ▪ **getTransferableAssetAmount**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4061](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4061)* + +Gets the amount of an asset transferable by the owner. + +#### callAsync + +▸ **callAsync**(`ownerAddress`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4071](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4071)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`ownerAddress` | string | - | Address of the owner of the asset. | +`assetData` | string | - | Description of tokens, per the AssetProxy contract specification. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +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`. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4153](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4153)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4141)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`ownerAddress`: string, `assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dev_utils.ts:4126](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dev_utils.ts#L4126)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`ownerAddress` | string | Address of the owner of the asset. | +`assetData` | string | Description of tokens, per the AssetProxy contract specification. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +
+ +# Class: DummyERC20TokenContract + + +## Constructors + + + +\+ **new DummyERC20TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[DummyERC20TokenContract](#class-dummyerc20tokencontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2381)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | DummyERC20TokenContract.deployedBytecode | + +**Returns:** *[DummyERC20TokenContract](#class-dummyerc20tokencontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146102e2578063e30443bc1461031d578063f2fde38b14610356578063fa9b701814610389576100ea565b806395d89b4114610282578063a0712d681461028a578063a9059cbb146102a9576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce5671461021657806370a082311461021e5780638da5cb5b14610251576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f7610391565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561043d565b604080519115158252519081900360200190f35b6101c16104b0565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104b6565b6101c1610772565b6101c16004803603602081101561023457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610778565b6102596107a0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f76107bc565b6102a7600480360360208110156102a057600080fd5b5035610835565b005b6101a5600480360360408110156102bf57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108bb565b6101c1600480360360408110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a4a565b6102a76004803603604081101561033357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a82565b6102a76004803603602081101561036c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b18565b6101c1610b95565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600260209081526040808320338452825280832054938352600190915281205490919083111561056357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b828110156105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040902054838101101561066857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107025773ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b60065481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156104355780601f1061040a57610100808354040283529160200191610435565b69021e19e0c9bab24000008111156108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f56414c55455f544f4f5f4c415247450000000000000000000000000000000000604482015290519081900360640190fd5b6108b83382610ba3565b50565b3360009081526001602052604081205482111561093957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205482810110156109cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b610a8a610c5c565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205480821015610ad557610acd600354610ac88385610ca5565b610ca5565b600355610aee565b610aea600354610ae58484610ca5565b610cc4565b6003555b5073ffffffffffffffffffffffffffffffffffffffff909116600090815260016020526040902055565b610b20610c5c565b73ffffffffffffffffffffffffffffffffffffffff8116610b5057610b4b610b46610ce7565b610d1e565b6108b8565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b69021e19e0c9bab240000081565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610bd4908290610cc4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354610c079082610cc4565b60035560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ca357600054610ca390610b4690339073ffffffffffffffffffffffffffffffffffffffff16610d26565b565b600082821115610cbe57610cbe610b4660028585610db2565b50900390565b600082820183811015610ce057610ce0610b4660008686610db2565b9392505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad10000000000000000000000000000000000000000000000000000000017905292915050565b606063e946c1bb60e01b84848460405160240180846003811115610dd257fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050939250505056fea265627a7a7231582089c03e503c77db7069bea8a94ec1c47ee5201d8bdb53857e70a882a1130e1ac364736f6c634300050c0032" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L51)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2365](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2365)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[DummyERC20TokenEventArgs](#dummyerc20tokeneventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents) | The DummyERC20Token contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2323](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2323)* + +Subscribe to an event type emitted by the DummyERC20Token contract. + +**Type parameters:** + +▪ **ArgsType**: *[DummyERC20TokenEventArgs](#dummyerc20tokeneventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [DummyERC20TokenEvents](#enumeration-dummyerc20tokenevents) | - | The DummyERC20Token contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2348](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2348)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:2354](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L2354)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1994](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1994)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_name`: string, `_symbol`: string, `_decimals`: `BigNumber`, `_totalSupply`: `BigNumber`): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1944](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1944)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_name` | string | +`_symbol` | string | +`_decimals` | `BigNumber` | +`_totalSupply` | `BigNumber` | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_name`: string, `_symbol`: string, `_decimals`: `BigNumber`, `_totalSupply`: `BigNumber`): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1905](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1905)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_name` | string | +`_symbol` | string | +`_decimals` | `BigNumber` | +`_totalSupply` | `BigNumber` | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### MAX_MINT_AMOUNT + +#### ▪ **MAX_MINT_AMOUNT**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L53)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L59)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L123)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L111)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:101](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L101)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### allowance + +#### ▪ **allowance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L131)* + +#### callAsync + +▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:140](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L140)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | The address of the account owning tokens | +`_spender` | string | - | The address of the account able to transfer the tokens | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amount of remaining tokens allowed to spent + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:221](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L221)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L209)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L194)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | The address of the account owning tokens | +`_spender` | string | The address of the account able to transfer the tokens | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### approve + +#### ▪ **approve**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:232](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L232)* + +`msg.sender` approves `_spender` to spend `_value` tokens + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:277](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L277)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:351](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L351)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_spender` | string | - | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | - | The amount of wei to be approved for transfer | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Always true if the call has enough gas to complete execution + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:307](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L307)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L432)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L420)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_spender`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:405](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L405)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:241](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L241)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:334](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L334)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_spender` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### balanceOf + +#### ▪ **balanceOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:443](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L443)* + +Query the balance of owner + +#### callAsync + +▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:451](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L451)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | The address from which the balance will be retrieved | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Balance of owner + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:522](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L522)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:510](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L510)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:499](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L499)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | The address from which the balance will be retrieved | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decimals + +#### ▪ **decimals**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:530](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L530)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:536](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L536)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:600](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L600)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:588](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L588)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:578](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L578)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### mint + +#### ▪ **mint**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:611](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L611)* + +Mints new tokens for sender + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:646](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L646)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_value` | `BigNumber` | Amount of tokens to mint | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:706](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L706)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_value` | `BigNumber` | - | Amount of tokens to mint | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:673](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L673)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_value` | `BigNumber` | Amount of tokens to mint | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:773](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L773)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:761](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L761)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:750](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L750)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_value` | `BigNumber` | Amount of tokens to mint | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:619](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L619)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_value` | `BigNumber` | Amount of tokens to mint | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:692](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L692)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### name + +#### ▪ **name**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:781](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L781)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:787](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L787)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:851](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L851)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:839](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L839)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:829](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L829)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### owner + +#### ▪ **owner**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:859](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L859)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:865](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L865)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:929](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L929)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:917](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L917)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:907](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L907)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### setBalance + +#### ▪ **setBalance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:940](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L940)* + +Sets the balance of target address + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_target`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:985](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L985)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_target` | string | Address or which balance will be updated | +`_value` | `BigNumber` | New balance of target address | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_target`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1058](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1058)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_target` | string | - | Address or which balance will be updated | +`_value` | `BigNumber` | - | New balance of target address | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_target`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1015](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1015)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_target` | string | Address or which balance will be updated | +`_value` | `BigNumber` | New balance of target address | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1139](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1139)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1127](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1127)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_target`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1112)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_target` | string | Address or which balance will be updated | +`_value` | `BigNumber` | New balance of target address | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_target`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:949](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L949)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_target` | string | Address or which balance will be updated | +`_value` | `BigNumber` | New balance of target address | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_target`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1042](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1042)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_target` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### symbol + +#### ▪ **symbol**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1147](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1147)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1153](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1153)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1217)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1205](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1205)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1195](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1195)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### totalSupply + +#### ▪ **totalSupply**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1228](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1228)* + +Query total supply of token + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1235](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1235)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +Total supply of token + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1299](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1299)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1287](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1287)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1277](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1277)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### transfer + +#### ▪ **transfer**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1310](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1310)* + +send `value` token to `to` from `msg.sender` + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1352](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1352)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1419)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_to` | string | - | The address of the recipient | +`_value` | `BigNumber` | - | The amount of token to be transferred | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +True if transfer was successful + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1382](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1382)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1497](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1497)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1485](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1485)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_to`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1470](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1470)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1319](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1319)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1402](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1402)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_to` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferFrom + +#### ▪ **transferFrom**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1508](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1508)* + +ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. See https://github.com/ethereum/EIPs/issues/717 + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1558](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1558)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1645](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1645)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | Address to transfer from. | +`_to` | string | - | Address to transfer to. | +`_value` | `BigNumber` | - | Amount to transfer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Success of transfer. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1596](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1596)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1732](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1732)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1720](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1720)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1703](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1703)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1518](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1518)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1626](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1626)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferOwnership + +#### ▪ **transferOwnership**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1740](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1740)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1773](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1773)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1828](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1828)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`newOwner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1799](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1799)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1896](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1896)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1884](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1884)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1871](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1871)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1747](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1747)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:1818](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L1818)* + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: DummyERC721TokenContract + + +## Constructors + + + +\+ **new DummyERC721TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[DummyERC721TokenContract](#class-dummyerc721tokencontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2917](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2917)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | DummyERC721TokenContract.deployedBytecode | + +**Returns:** *[DummyERC721TokenContract](#class-dummyerc721tokencontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a22cb46511610066578063a22cb46514610362578063b88d4fde1461039d578063e985e9c51461043a578063f2fde38b14610489576100f5565b806370a08231146102d45780638da5cb5b1461031957806395d89b41146103215780639dc29fac14610329576100f5565b806323b872dd116100d357806323b872dd146101f857806340c10f191461023b57806342842e0e146102745780636352211e146102b7576100f5565b806306fdde03146100fa578063081812fc14610177578063095ea7b3146101bd575b600080fd5b6101026104bc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101946004803603602081101561018d57600080fd5b5035610568565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f6600480360360408110156101d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610590565b005b6101f66004803603606081101561020e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356106b2565b6101f66004803603604081101561025157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a20565b6101f66004803603606081101561028a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a2e565b610194600480360360208110156102cd57600080fd5b5035610bc8565b610307600480360360208110156102ea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c5f565b60408051918252519081900360200190f35b610194610d0c565b610102610d28565b6101f66004803603604081101561033f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610da1565b6101f66004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610db3565b6101f6600480360360808110156103b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b509092509050610e4c565b6104756004803603604081101561045057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611017565b604080519115158252519081900360200190f35b6101f66004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611052565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b505050505081565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061059b82610bc8565b90503373ffffffffffffffffffffffffffffffffffffffff821614806105c657506105c68133611017565b61063157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661073457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061073f82610bc8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146107db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006107e784610568565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148061082857506108288383611017565b8061085e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6108c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81161561091a57600084815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b600084815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8b8116919091179091558a168452600390915290912054610984916110ce565b73ffffffffffffffffffffffffffffffffffffffff80881660009081526003602052604080822093909355908716815220546109c19060016110ed565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260036020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b610a2a8282611110565b5050565b610a398383836106b2565b813b8015610bc257604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610bc057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526001602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610c5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610ce357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156105605780601f1061053557610100808354040283529160200191610560565b610da96112e3565b610a2a828261132c565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610e578585856106b2565b833b801561100f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b505050506040513d6020811015610f4557600080fd5b505160405190915080602f61166c8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461100d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205460ff1690565b61105a6112e3565b73ffffffffffffffffffffffffffffffffffffffff811661108a57611085611080611501565b611538565b6110cb565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6000828211156110e7576110e761108060028585611540565b50900390565b6000828201838110156111095761110961108060008686611540565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff821661119257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16801561122457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4552433732315f4f574e45525f414c52454144595f4558495354530000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916908117909155845260039091529091205461128a916110ed565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408082209390935591518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461132a5760005461132a9061108090339073ffffffffffffffffffffffffffffffffffffffff166115df565b565b73ffffffffffffffffffffffffffffffffffffffff82166113ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732315f5a45524f5f4f574e45525f4144445245535300000000000000604482015290519081900360640190fd5b60008181526001602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908316811461144557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b600082815260016020818152604080842080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905573ffffffffffffffffffffffffffffffffffffffff871684526003909152909120546114a7916110ce565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260036020526040808220939093559151849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561156057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1de45ad1000000000000000000000000000000000000000000000000000000001790529291505056fe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158207bb3c4b1d40aa051fbb8e4f8230bb310013e75ca9fa97c528018b4c4aba3b92564736f6c634300050c0032" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L61)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2901](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2901)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[DummyERC721TokenEventArgs](#dummyerc721tokeneventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents) | The DummyERC721Token contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2859](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2859)* + +Subscribe to an event type emitted by the DummyERC721Token contract. + +**Type parameters:** + +▪ **ArgsType**: *[DummyERC721TokenEventArgs](#dummyerc721tokeneventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [DummyERC721TokenEvents](#enumeration-dummyerc721tokenevents) | - | The DummyERC721Token contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2884](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2884)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2890](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2890)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2482](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2482)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_name`: string, `_symbol`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2434)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_name` | string | +`_symbol` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_name`: string, `_symbol`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2399](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2399)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_name` | string | +`_symbol` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### approve + +#### ▪ **approve**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L68)* + +The zero address indicates there is no approved address. +Throws unless `msg.sender` is the current NFT owner, or an authorized +operator of the current owner. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:113](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L113)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_approved` | string | The new approved NFT controller | +`_tokenId` | `BigNumber` | The NFT to approve | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L186)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_approved` | string | - | The new approved NFT controller | +`_tokenId` | `BigNumber` | - | The NFT to approve | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:143](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L143)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_approved` | string | The new approved NFT controller | +`_tokenId` | `BigNumber` | The NFT to approve | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:267](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L267)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:255](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L255)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_approved`: string, `_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:240](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L240)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_approved` | string | The new approved NFT controller | +`_tokenId` | `BigNumber` | The NFT to approve | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L77)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_approved` | string | The new approved NFT controller | +`_tokenId` | `BigNumber` | The NFT to approve | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L170)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_approved` | string | +`_tokenId` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### balanceOf + +#### ▪ **balanceOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L279)* + +NFTs assigned to the zero address are considered invalid, and this +function throws for queries about the zero address. + +#### callAsync + +▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:287](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L287)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | An address for whom to query the balance | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The number of NFTs owned by `_owner`, possibly zero + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L358)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:346](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L346)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L335)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | An address for whom to query the balance | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### burn + +#### ▪ **burn**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:370](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L370)* + +Function to burn a token +Reverts if the given token ID doesn't exist or not called by contract owner + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:412](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L412)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | Owner of token with given token ID | +`_tokenId` | `BigNumber` | ID of the token to be burned by the msg.sender | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:482](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L482)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | Owner of token with given token ID | +`_tokenId` | `BigNumber` | - | ID of the token to be burned by the msg.sender | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L442)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | Owner of token with given token ID | +`_tokenId` | `BigNumber` | ID of the token to be burned by the msg.sender | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:560](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L560)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:548](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L548)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string, `_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:533](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L533)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | Owner of token with given token ID | +`_tokenId` | `BigNumber` | ID of the token to be burned by the msg.sender | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:379](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L379)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | Owner of token with given token ID | +`_tokenId` | `BigNumber` | ID of the token to be burned by the msg.sender | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_owner`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:466](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L466)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_owner` | string | +`_tokenId` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### getApproved + +#### ▪ **getApproved**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:571](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L571)* + +Throws if `_tokenId` is not a valid NFT. + +#### callAsync + +▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:579](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L579)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_tokenId` | `BigNumber` | - | The NFT to find the approved address for | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The approved address for this NFT, or the zero address if there is none + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L650)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:638](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L638)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`BigNumber`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:627](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L627)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_tokenId` | `BigNumber` | The NFT to find the approved address for | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### isApprovedForAll + +#### ▪ **isApprovedForAll**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:658](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L658)* + +#### callAsync + +▸ **callAsync**(`_owner`: string, `_operator`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:667](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L667)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | The address that owns the NFTs | +`_operator` | string | - | The address that acts on behalf of the owner | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +True if `_operator` is an approved operator for `_owner`, false otherwise + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:748](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L748)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:736](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L736)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string, `_operator`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:721](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L721)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | The address that owns the NFTs | +`_operator` | string | The address that acts on behalf of the owner | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### mint + +#### ▪ **mint**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:760](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L760)* + +Function to mint a new token +Reverts if the given token ID already exists + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:802](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L802)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | Address of the beneficiary that will own the minted token | +`_tokenId` | `BigNumber` | ID of the token to be minted by the msg.sender | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:872](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L872)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_to` | string | - | Address of the beneficiary that will own the minted token | +`_tokenId` | `BigNumber` | - | ID of the token to be minted by the msg.sender | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:832](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L832)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | Address of the beneficiary that will own the minted token | +`_tokenId` | `BigNumber` | ID of the token to be minted by the msg.sender | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:950](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L950)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:938](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L938)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_to`: string, `_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:923](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L923)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | Address of the beneficiary that will own the minted token | +`_tokenId` | `BigNumber` | ID of the token to be minted by the msg.sender | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:769](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L769)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | Address of the beneficiary that will own the minted token | +`_tokenId` | `BigNumber` | ID of the token to be minted by the msg.sender | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:856](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L856)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_to` | string | +`_tokenId` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### name + +#### ▪ **name**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:958](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L958)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:964](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L964)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1028](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1028)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1016](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1016)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1006](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1006)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### owner + +#### ▪ **owner**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1036](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1036)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1042](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1042)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1106](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1106)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1094](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1094)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1084](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1084)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### ownerOf + +#### ▪ **ownerOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1118)* + +NFTs assigned to zero address are considered invalid, and queries +about them do throw. + +#### callAsync + +▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1126](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1126)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_tokenId` | `BigNumber` | - | The identifier for an NFT | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The address of the owner of the NFT + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1197)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1185](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1185)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`BigNumber`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1174](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1174)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_tokenId` | `BigNumber` | The identifier for an NFT | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### safeTransferFrom1 + +#### ▪ **safeTransferFrom1**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1209)* + +This works identically to the other function with an extra data parameter, +except this function just sets data to "". + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1259](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1259)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1345](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1345)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | The current owner of the NFT | +`_to` | string | - | The new owner | +`_tokenId` | `BigNumber` | - | The NFT to transfer | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1297](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1297)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1432)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1420)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1403](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1403)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1219)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1327](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1327)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_tokenId` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### safeTransferFrom2 + +#### ▪ **safeTransferFrom2**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1449)* + +Throws unless `msg.sender` is the current owner, an authorized +operator, or the approved address for this NFT. Throws if `_from` is +not the current owner. Throws if `_to` is the zero address. Throws if +`_tokenId` is not a valid NFT. When transfer is complete, this function +checks if `_to` is a smart contract (code size > 0). If so, it calls +`onERC721Received` on `_to` and throws if the return value is not +`bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1504](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1504)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1605](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1605)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | The current owner of the NFT | +`_to` | string | - | The new owner | +`_tokenId` | `BigNumber` | - | The NFT to transfer | +`_data` | string | - | Additional data with no specified format, sent in call to `_to` | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1546](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1546)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1696](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1696)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1684](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1684)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string, `BigNumber`, string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1667](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1667)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1460](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1460)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1579](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1579)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_tokenId` | `BigNumber` | +`_data` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### setApprovalForAll + +#### ▪ **setApprovalForAll**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1708](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1708)* + +Emits the ApprovalForAll event. The contract MUST allow +multiple operators per owner. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1753](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1753)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_operator`: string, `_approved`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1830](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1830)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_operator` | string | - | Address to add to the set of authorized operators | +`_approved` | boolean | - | True if the operator is approved, false to revoke approval | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1787](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1787)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1911](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1911)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1899](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1899)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, boolean]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_operator`: string, `_approved`: boolean): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1884](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1884)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1717](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1717)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1814](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1814)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_operator` | string | +`_approved` | boolean | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### symbol + +#### ▪ **symbol**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1919](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1919)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1925](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1925)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1989](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1989)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1977](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1977)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:1967](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L1967)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### transferFrom + +#### ▪ **transferFrom**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2003](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2003)* + +Throws unless `msg.sender` is the current owner, an authorized +operator, or the approved address for this NFT. Throws if `_from` is +not the current owner. Throws if `_to` is the zero address. Throws if +`_tokenId` is not a valid NFT. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2053](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2053)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2139](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2139)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | The current owner of the NFT | +`_to` | string | - | The new owner | +`_tokenId` | `BigNumber` | - | The NFT to transfer | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2091](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2091)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2226](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2226)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2214](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2214)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2197)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2013](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2013)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2121)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_tokenId` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferOwnership + +#### ▪ **transferOwnership**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2234](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2234)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2267](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2267)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2322](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2322)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`newOwner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2293](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2293)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2390)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2378](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2378)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2365](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2365)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2241](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2241)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:2312](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L2312)* + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: DutchAuctionContract + + +## Constructors + + + +\+ **new DutchAuctionContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[DutchAuctionContract](#class-dutchauctioncontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:1257](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L1257)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | DutchAuctionContract.deployedBytecode | + +**Returns:** *[DutchAuctionContract](#class-dutchauctioncontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string | undefined* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L31)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:965](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L965)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:918](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L918)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:885](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L885)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### getAuctionDetails + +#### ▪ **getAuctionDetails**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L35)* + +Calculates the Auction Details for the given order + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`order`: object, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:88](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L88)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The sell order | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`order`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L192)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | The sell order | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +AuctionDetails + +#### estimateGasAsync + +▸ **estimateGasAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:127](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L127)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The sell order | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:339](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L339)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:297](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L297)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:271](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L271)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The sell order | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L43)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The sell order | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:164](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L164)* + +**Parameters:** + +Name | Type | +------ | ------ | +`order` | object | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### matchOrders + +#### ▪ **matchOrders**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:382](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L382)* + +Matches the buy and sell orders at an amount given the following: the current block time, the auction +start time and the auction begin amount. The sell order is a an order at the lowest amount +at the end of the auction. Excess from the match is transferred to the seller. +Over time the price moves from beginAmount to endAmount given the current block.timestamp. +sellOrder.expiryTimeSeconds is the end time of the auction. +sellOrder.takerAssetAmount is the end amount of the auction (lowest possible amount). +sellOrder.makerAssetData is the ABI encoded Asset Proxy data with the following data appended +buyOrder.makerAssetData is the buyers bid on the auction, must meet the amount for the current block timestamp +(uint256 beginTimeSeconds, uint256 beginAmount). +This function reverts in the following scenarios: +* Auction has not started (auctionDetails.currentTimeSeconds < auctionDetails.beginTimeSeconds) +* Auction has expired (auctionDetails.endTimeSeconds < auctionDetails.currentTimeSeconds) +* Amount is invalid: Buy order amount is too low (buyOrder.makerAssetAmount < auctionDetails.currentAmount) +* Amount is invalid: Invalid begin amount (auctionDetails.beginAmount > auctionDetails.endAmount) +* Any failure in the 0x Match Orders + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:463](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L463)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`buyOrder` | object | The Buyer's order. This order is for the current expected price of the auction. | +`sellOrder` | object | The Seller's order. This order is for the lowest amount (at the end of the auction). | +`buySignature` | string | Proof that order was created by the buyer. | +`sellSignature` | string | Proof that order was created by the seller. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L641)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`buyOrder` | object | - | The Buyer's order. This order is for the current expected price of the auction. | +`sellOrder` | object | - | The Seller's order. This order is for the lowest amount (at the end of the auction). | +`buySignature` | string | - | Proof that order was created by the buyer. | +`sellSignature` | string | - | Proof that order was created by the seller. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +matchedFillResults amounts filled and fees paid by maker and taker of matched orders. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:531](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L531)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`buyOrder` | object | The Buyer's order. This order is for the current expected price of the auction. | +`sellOrder` | object | The Seller's order. This order is for the lowest amount (at the end of the auction). | +`buySignature` | string | Proof that order was created by the buyer. | +`sellSignature` | string | Proof that order was created by the seller. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:845](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L845)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:803](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L803)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:757](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L757)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`buyOrder` | object | The Buyer's order. This order is for the current expected price of the auction. | +`sellOrder` | object | The Seller's order. This order is for the lowest amount (at the end of the auction). | +`buySignature` | string | Proof that order was created by the buyer. | +`sellSignature` | string | Proof that order was created by the seller. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:395](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L395)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`buyOrder` | object | The Buyer's order. This order is for the current expected price of the auction. | +`sellOrder` | object | The Seller's order. This order is for the lowest amount (at the end of the auction). | +`buySignature` | string | Proof that order was created by the buyer. | +`sellSignature` | string | Proof that order was created by the seller. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`buyOrder`: object, `sellOrder`: object, `buySignature`: string, `sellSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts:586](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dutch_auction.ts#L586)* + +**Parameters:** + +Name | Type | +------ | ------ | +`buyOrder` | object | +`sellOrder` | object | +`buySignature` | string | +`sellSignature` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ERC1155ProxyContract + + +## Constructors + + + +\+ **new ERC1155ProxyContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ERC1155ProxyContract](#class-erc1155proxycontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1787](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1787)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ERC1155ProxyContract.deployedBytecode | + +**Returns:** *[ERC1155ProxyContract](#class-erc1155proxycontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a85e59e411610076578063b91816111161005b578063b918161114610285578063d39de6e9146102cc578063f2fde38b14610324576100be565b8063a85e59e4146101b2578063ae25532e14610248576100be565b806370712939116100a7578063707129391461013e5780638da5cb5b146101715780639ad2674414610179576100be565b806342f1181e146100c3578063494503d4146100f8575b600080fd5b6100f6600480360360208110156100d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610357565b005b6101156004803603602081101561010e57600080fd5b5035610543565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f66004803603602081101561015457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610577565b61011561086a565b6100f66004803603604081101561018f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610886565b6100f6600480360360808110156101c857600080fd5b8101906020810181356401000000008111156101e357600080fd5b8201836020820111156101f557600080fd5b8035906020019184600183028401116401000000008311171561021757600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c37565b610250611138565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6102b86004803603602081101561029b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611159565b604080519115158252519081900360200190f35b6102d461116e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b6100f66004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166111dd565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103dd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561047257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061055057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661069157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610823578173ffffffffffffffffffffffffffffffffffffffff166002828154811061070b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561081b57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061076357fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061079657fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906108159082611407565b50610823565b6001016106dd565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff16331461090c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff166109a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610a1057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610a3457fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610ac257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610b3d57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610b7057fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610bef9082611407565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b3360009081526001602052604090205460ff16610cb557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53454e4445525f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b60006060806060610d0b60048a8a90508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505063ffffffff6112c3169050565b8060200190516080811015610d1f57600080fd5b815160208301805160405192949293830192919084640100000000821115610d4657600080fd5b908301906020820185811115610d5b57600080fd5b8251866020820283011164010000000082111715610d7857600080fd5b82525081516020918201928201910280838360005b83811015610da5578181015183820152602001610d8d565b5050505090500160405260200180516040519392919084640100000000821115610dce57600080fd5b908301906020820185811115610de357600080fd5b8251866020820283011164010000000082111715610e0057600080fd5b82525081516020918201928201910280838360005b83811015610e2d578181015183820152602001610e15565b5050505090500160405260200180516040519392919084640100000000821115610e5657600080fd5b908301906020820185811115610e6b57600080fd5b8251640100000000811182820188101715610e8557600080fd5b82525081516020918201929091019080838360005b83811015610eb2578181015183820152602001610e9a565b50505050905090810190601f168015610edf5780820380516001836020036101000a031916815260200191505b506040525050509350935093509350600082519050606081604051908082528060200260200182016040528015610f20578160200160208202803883390190505b50905060005b828114610f6957610f4a858281518110610f3c57fe5b602002602001015189611306565b828281518110610f5657fe5b6020908102919091010152600101610f26565b508573ffffffffffffffffffffffffffffffffffffffff16632eb2c2d68a8a8885886040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561104657818101518382015260200161102e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561108557818101518382015260200161106d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156110c15781810151838201526020016110a9565b50505050905090810190601f1680156110ee5780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b15801561111357600080fd5b505af1158015611127573d6000803e3d6000fd5b505050505050505050505050505050565b6000604051808061144f603091396030019050604051809103902090505b90565b60016020526000908152604090205460ff1681565b606060028054806020026020016040519081016040528092919081815260200182805480156111d357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111a8575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461126357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156112c057600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b6060818311156112e1576112e16112dc60008585611340565b6113df565b83518211156112fa576112fa6112dc6001848751611340565b50819003910190815290565b6000826113155750600061133a565b8282028284828161132257fe5b0414611337576113376112dc600186866113e7565b90505b92915050565b6060632800659560e01b8484846040516024018084600781111561136057fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fd5b606063e946c1bb60e01b8484846040516024018084600381111561136057fe5b81548183558181111561142b5760008381526020902061142b918101908301611430565b505050565b61115691905b8082111561144a5760008155600101611436565b509056fe4552433131353541737365747328616464726573732c75696e743235365b5d2c75696e743235365b5d2c627974657329a265627a7a72315820be5e6597d38133fd52aac17250498790f106d5d4d0e4ab30d0e854a2db1e2ffe64736f6c634300050c0032" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L51)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC1155ProxyEvents](#enumeration-erc1155proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1771](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1771)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[ERC1155ProxyEventArgs](#erc1155proxyeventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [ERC1155ProxyEvents](#enumeration-erc1155proxyevents) | The ERC1155Proxy contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [ERC1155ProxyEvents](#enumeration-erc1155proxyevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1729](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1729)* + +Subscribe to an event type emitted by the ERC1155Proxy contract. + +**Type parameters:** + +▪ **ArgsType**: *[ERC1155ProxyEventArgs](#erc1155proxyeventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ERC1155ProxyEvents](#enumeration-erc1155proxyevents) | - | The ERC1155Proxy contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1754](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1754)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1760](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1760)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1513](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1513)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1471](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1471)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1446](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1446)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### addAuthorizedAddress + +#### ▪ **addAuthorizedAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L56)* + +Authorizes an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L91)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L148)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to authorize. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L118)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L217)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:205](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L205)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L192)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:64](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L64)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L137)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### authorities + +#### ▪ **authorities**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L225)* + +#### callAsync + +▸ **callAsync**(`index_0`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:231](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L231)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:301](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L301)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L289)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`BigNumber`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:278](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L278)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### authorized + +#### ▪ **authorized**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:309](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L309)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:315](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L315)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:387](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L387)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L375)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:362](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L362)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getAuthorizedAddresses + +#### ▪ **getAuthorizedAddresses**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L398)* + +Gets all authorized addresses. + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:405](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L405)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +Array of authorized addresses. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:469](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L469)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string[]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:457](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L457)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:447](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L447)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getProxyId + +#### ▪ **getProxyId**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L480)* + +Gets the proxy id associated with the proxy address. + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:487](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L487)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +Proxy id. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:543](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L543)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:531](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L531)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:521](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L521)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### owner + +#### ▪ **owner**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:551](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L551)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:557](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L557)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:621](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L621)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:609](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L609)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:599](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L599)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### removeAuthorizedAddress + +#### ▪ **removeAuthorizedAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:632](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L632)* + +Removes authorizion of an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:667](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L667)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:724](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L724)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to remove authorization from. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:694](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L694)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:793](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L793)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:781](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L781)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:768](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L768)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:640](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L640)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:713](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L713)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### removeAuthorizedAddressAtIndex + +#### ▪ **removeAuthorizedAddressAtIndex**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:804](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L804)* + +Removes authorizion of an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:849](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L849)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `index`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:930](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L930)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to remove authorization from. | +`index` | `BigNumber` | - | Index of target in authorities array. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:883](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L883)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1011](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1011)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:999](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L999)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string, `index`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:984](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L984)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:813](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L813)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:910](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L910)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`index` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferFrom + +#### ▪ **transferFrom**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1022](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1022)* + +Transfers batch of ERC1155 assets. Either succeeds or throws. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1081](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1081)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | +`from` | string | Address to transfer assets from. | +`to` | string | Address to transfer assets to. | +`amount` | `BigNumber` | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1180)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | +`from` | string | - | Address to transfer assets from. | +`to` | string | - | Address to transfer assets to. | +`amount` | `BigNumber` | - | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1125](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1125)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | +`from` | string | Address to transfer assets from. | +`to` | string | Address to transfer assets to. | +`amount` | `BigNumber` | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1273](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1273)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1261](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1261)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string, string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1244](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1244)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | +`from` | string | Address to transfer assets from. | +`to` | string | Address to transfer assets to. | +`amount` | `BigNumber` | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1035](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1035)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded with ERC1155 token address, array of ids, array of values, and callback data. | +`from` | string | Address to transfer assets from. | +`to` | string | Address to transfer assets to. | +`amount` | `BigNumber` | Amount that will be multiplied with each element of `assetData.values` to scale the values that will be transferred. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`assetData`: string, `from`: string, `to`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1158](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1158)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetData` | string | +`from` | string | +`to` | string | +`amount` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferOwnership + +#### ▪ **transferOwnership**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1281)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1314](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1314)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1369](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1369)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`newOwner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1340)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1437](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1437)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1425](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1425)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1412](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1412)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1288](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1288)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:1359](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L1359)* + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ERC20ProxyContract + + +## Constructors + + + +\+ **new ERC20ProxyContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ERC20ProxyContract](#class-erc20proxycontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1506](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1506)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ERC20ProxyContract.deployedBytecode | + +**Returns:** *[ERC20ProxyContract](#class-erc20proxycontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b918161114610374578063d39de6e9146103bb578063f2fde38b14610413576100a3565b80639ad26744146102fe578063ae25532e14610337576100a3565b806342f1181e14610248578063494503d41461027d57806370712939146102c35780638da5cb5b146102f6575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e40000000000000000000000000000000000000000000000000000000081141561024257604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50602860043501357f23b872dd0000000000000000000000000000000000000000000000000000000060005260606024600437602060006064600080855af1600080511160203d14163d15178116905080156101cf57005b50507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b61027b6004803603602081101561025e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610446565b005b61029a6004803603602081101561029357600080fd5b5035610632565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61027b600480360360208110156102d957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610666565b61029a610959565b61027b6004803603604081101561031457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610975565b61033f610d26565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6103a76004803603602081101561038a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d5c565b604080519115158252519081900360200190f35b6103c3610d71565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103ff5781810151838201526020016103e7565b505050509050019250505060405180910390f35b61027b6004803603602081101561042957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610de0565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104cc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff161561056157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b6002818154811061063f57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661078057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610912578173ffffffffffffffffffffffffffffffffffffffff16600282815481106107fa57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561090a57600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061085257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff909216918390811061088557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01906109049082610ec6565b50610912565b6001016107cc565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146109fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610aff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b2357fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610bb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610c2c57fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610c5f57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610cde9082610ec6565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f4552433230546f6b656e28616464726573732900000000000000000000000000815290519081900360130190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610dd657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dab575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610ec357600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610eea57600083815260209020610eea918101908301610eef565b505050565b610d5991905b80821115610f095760008155600101610ef5565b509056fea265627a7a72315820cb3312567959522bd12ea03b9812cab2bace85fe5f172b3ae8014b3eacc85fa864736f6c634300050b0032" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L51)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC20ProxyEvents](#enumeration-erc20proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1490](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1490)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[ERC20ProxyEventArgs](#erc20proxyeventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [ERC20ProxyEvents](#enumeration-erc20proxyevents) | The ERC20Proxy contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [ERC20ProxyEvents](#enumeration-erc20proxyevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1448)* + +Subscribe to an event type emitted by the ERC20Proxy contract. + +**Type parameters:** + +▪ **ArgsType**: *[ERC20ProxyEventArgs](#erc20proxyeventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ERC20ProxyEvents](#enumeration-erc20proxyevents) | - | The ERC20Proxy contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1473](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1473)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1479)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1251](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1251)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1209)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1184)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### addAuthorizedAddress + +#### ▪ **addAuthorizedAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L56)* + +Authorizes an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L91)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L148)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to authorize. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L118)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L217)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:205](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L205)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L192)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:64](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L64)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L137)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### authorities + +#### ▪ **authorities**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L225)* + +#### callAsync + +▸ **callAsync**(`index_0`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:231](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L231)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:301](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L301)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L289)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`BigNumber`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:278](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L278)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### authorized + +#### ▪ **authorized**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:851](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L851)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:857](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L857)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:929](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L929)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:917](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L917)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:904](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L904)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getAuthorizedAddresses + +#### ▪ **getAuthorizedAddresses**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:940](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L940)* + +Gets all authorized addresses. + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:947](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L947)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +Array of authorized addresses. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1011](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1011)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string[]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:999](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L999)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:989](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L989)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getProxyId + +#### ▪ **getProxyId**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:780](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L780)* + +Gets the proxy id associated with the proxy address. + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:787](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L787)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +Proxy id. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:843](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L843)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:831](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L831)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:821](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L821)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### owner + +#### ▪ **owner**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:481](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L481)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:487](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L487)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:551](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L551)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:539](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L539)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:529](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L529)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### removeAuthorizedAddress + +#### ▪ **removeAuthorizedAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:312](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L312)* + +Removes authorizion of an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:347](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L347)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:404](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L404)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to remove authorization from. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L374)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:473](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L473)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:461](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L461)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L448)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:320](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L320)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L393)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### removeAuthorizedAddressAtIndex + +#### ▪ **removeAuthorizedAddressAtIndex**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:562](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L562)* + +Removes authorizion of an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:607](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L607)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `index`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:688](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L688)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to remove authorization from. | +`index` | `BigNumber` | - | Index of target in authorities array. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L641)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:769](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L769)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:757](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L757)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string, `index`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:742](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L742)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:571](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L571)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:668](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L668)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`index` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferOwnership + +#### ▪ **transferOwnership**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1019](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1019)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1052](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1052)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1107)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`newOwner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1078](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1078)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1175](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1175)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1163](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1163)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1150](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1150)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1026](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1026)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:1097](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L1097)* + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ERC20TokenContract + + +## Constructors + + + +\+ **new ERC20TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ERC20TokenContract](#class-erc20tokencontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1282](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1282)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ERC20TokenContract.deployedBytecode | + +**Returns:** *[ERC20TokenContract](#class-erc20tokencontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610121578063a9059cbb14610154578063dd62ed3e1461018d57610072565b8063095ea7b31461007757806318160ddd146100c457806323b872dd146100de575b600080fd5b6100b06004803603604081101561008d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356101c8565b604080519115158252519081900360200190f35b6100cc61023b565b60408051918252519081900360200190f35b6100b0600480360360608110156100f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610241565b6100cc6004803603602081101561013757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661049d565b6100b06004803603604081101561016a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104c5565b6100cc600480360360408110156101a357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610652565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120548211156102d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482111561037457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332305f494e53554646494349454e545f414c4c4f57414e434500000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054828101101561040a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020818152604080832080548801905593881680835284832080548890039055600182528483203384528252918490208054879003905583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3360009081526020819052604081205482111561054357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f45524332305f494e53554646494349454e545f42414c414e4345000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110156105d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f55494e543235365f4f564552464c4f5700000000000000000000000000000000604482015290519081900360640190fd5b336000818152602081815260408083208054879003905573ffffffffffffffffffffffffffffffffffffffff871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526001602090815260408083209390941682529190915220549056fea265627a7a723158205713efa92f66e67a8d01b80af8500df66bd6e9862dcf791e587181109d8ab0c464736f6c634300050b0032" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L51)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC20TokenEvents](#enumeration-erc20tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1266](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1266)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[ERC20TokenEventArgs](#erc20tokeneventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [ERC20TokenEvents](#enumeration-erc20tokenevents) | The ERC20Token contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [ERC20TokenEvents](#enumeration-erc20tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1224)* + +Subscribe to an event type emitted by the ERC20Token contract. + +**Type parameters:** + +▪ **ArgsType**: *[ERC20TokenEventArgs](#erc20tokeneventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ERC20TokenEvents](#enumeration-erc20tokenevents) | - | The ERC20Token contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1249](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1249)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1255](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1255)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:1035](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L1035)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:993](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L993)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:968](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L968)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### allowance + +#### ▪ **allowance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:869](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L869)* + +#### callAsync + +▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:878](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L878)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | The address of the account owning tokens | +`_spender` | string | - | The address of the account able to transfer the tokens | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amount of remaining tokens allowed to spent + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:959](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L959)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:947](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L947)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:932](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L932)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | The address of the account owning tokens | +`_spender` | string | The address of the account able to transfer the tokens | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### approve + +#### ▪ **approve**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L56)* + +`msg.sender` approves `_spender` to spend `_value` tokens + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:101](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L101)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:175](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L175)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_spender` | string | - | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | - | The amount of wei to be approved for transfer | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Always true if the call has enough gas to complete execution + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L131)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:256](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L256)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:244](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L244)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_spender`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L229)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:65](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L65)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | The address of the account able to transfer the tokens | +`_value` | `BigNumber` | The amount of wei to be approved for transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:158](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L158)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_spender` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### balanceOf + +#### ▪ **balanceOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:584](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L584)* + +Query the balance of owner + +#### callAsync + +▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:592](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L592)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | The address from which the balance will be retrieved | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Balance of owner + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:663](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L663)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L651)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:640](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L640)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | The address from which the balance will be retrieved | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### totalSupply + +#### ▪ **totalSupply**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:267](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L267)* + +Query total supply of token + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:274](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L274)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +Total supply of token + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:338](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L338)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:326](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L326)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:316](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L316)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### transfer + +#### ▪ **transfer**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L674)* + +send `value` token to `to` from `msg.sender` + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:716](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L716)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:783](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L783)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_to` | string | - | The address of the recipient | +`_value` | `BigNumber` | - | The amount of token to be transferred | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +True if transfer was successful + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:746](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L746)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:861](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L861)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:849](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L849)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_to`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:834](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L834)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:683](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L683)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:766](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L766)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_to` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferFrom + +#### ▪ **transferFrom**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L349)* + +send `value` token to `to` from `from` on the condition it is approved by `from` + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:399](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L399)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The address of the sender | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:486](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L486)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | The address of the sender | +`_to` | string | - | The address of the recipient | +`_value` | `BigNumber` | - | The amount of token to be transferred | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +True if transfer was successful + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:437](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L437)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The address of the sender | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:573](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L573)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L561)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:544](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L544)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The address of the sender | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:359](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L359)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The address of the sender | +`_to` | string | The address of the recipient | +`_value` | `BigNumber` | The amount of token to be transferred | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:467](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L467)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ERC721ProxyContract + + +## Constructors + + + +\+ **new ERC721ProxyContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ERC721ProxyContract](#class-erc721proxycontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1506](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1506)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ERC721ProxyContract.deployedBytecode | + +**Returns:** *[ERC721ProxyContract](#class-erc721proxycontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80639ad2674411610076578063b91816111161005b578063b9181611146103ea578063d39de6e914610431578063f2fde38b14610489576100a3565b80639ad2674414610374578063ae25532e146103ad576100a3565b806342f1181e146102be578063494503d4146102f357806370712939146103395780638da5cb5b1461036c575b7fffffffff00000000000000000000000000000000000000000000000000000000600035167fa85e59e4000000000000000000000000000000000000000000000000000000008114156102b857604080513381526001602082015290812054610177577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c1553454e4445525f4e4f545f415554484f52495a454400000000000000604052600060605260646000fd5b50600160643503156101f4577f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0e494e56414c49445f414d4f554e540000000000000000000000000000604052600060605260646000fd5b7f23b872dd000000000000000000000000000000000000000000000000000000006000526040602460043760043560206048820160443760288101356000806064600080855af1915050801561024657005b507f08c379a0000000000000000000000000000000000000000000000000000000006000527c20000000000000000000000000000000000000000000000000000000006020527c0f5452414e534645525f4641494c454400000000000000000000000000604052600060605260646000fd5b50600080fd5b6102f1600480360360208110156102d457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104bc565b005b6103106004803603602081101561030957600080fd5b50356106a8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102f16004803603602081101561034f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106dc565b6103106109cf565b6102f16004803603604081101561038a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109eb565b6103b5610d9c565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61041d6004803603602081101561040057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610dd2565b604080519115158252519081900360200190f35b610439610de7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047557818101518382015260200161045d565b505050509050019250505060405180910390f35b6102f16004803603602081101561049f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e56565b60005473ffffffffffffffffffffffffffffffffffffffff16331461054257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff16156105d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5441524745545f414c52454144595f415554484f52495a454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055513392917f3147867c59d17e8fa9d522465651d44aae0a9e38f902f3475b97e58072f0ed4c91a350565b600281815481106106b557fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60005473ffffffffffffffffffffffffffffffffffffffff16331461076257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff166107f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600254811015610988578173ffffffffffffffffffffffffffffffffffffffff166002828154811061087057fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16141561098057600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106108c857fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff90921691839081106108fb57fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061097a9082610f3c565b50610988565b600101610842565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205460ff16610b0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5441524745545f4e4f545f415554484f52495a45440000000000000000000000604482015290519081900360640190fd5b6002548110610b7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e4445585f4f55545f4f465f424f554e445300000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1660028281548110610b9957fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1614610c2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f415554484f52495a45445f414444524553535f4d49534d415443480000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610ca257fe5b6000918252602090912001546002805473ffffffffffffffffffffffffffffffffffffffff9092169183908110610cd557fe5b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190610d549082610f3c565b50604051339073ffffffffffffffffffffffffffffffffffffffff8416907f1f32c1b084e2de0713b8fb16bd46bb9df710a3dbeae2f3ca93af46e016dcc6b090600090a35050565b604080517f455243373231546f6b656e28616464726573732c75696e7432353629000000008152905190819003601c0190205b90565b60016020526000908152604090205460ff1681565b60606002805480602002602001604051908101604052809291908181526020018280548015610e4c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e21575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610edc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4f4e4c595f434f4e54524143545f4f574e455200000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811615610f3957600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b815481835581811115610f6057600083815260209020610f60918101908301610f65565b505050565b610dcf91905b80821115610f7f5760008155600101610f6b565b509056fea265627a7a723158201e53a891f6df3931041b820f71387e9eecd97f7ea0d346c54fab37668bd022ec64736f6c634300050b0032" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L51)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC721ProxyEvents](#enumeration-erc721proxyevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1490](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1490)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[ERC721ProxyEventArgs](#erc721proxyeventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [ERC721ProxyEvents](#enumeration-erc721proxyevents) | The ERC721Proxy contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [ERC721ProxyEvents](#enumeration-erc721proxyevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1448)* + +Subscribe to an event type emitted by the ERC721Proxy contract. + +**Type parameters:** + +▪ **ArgsType**: *[ERC721ProxyEventArgs](#erc721proxyeventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ERC721ProxyEvents](#enumeration-erc721proxyevents) | - | The ERC721Proxy contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1473](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1473)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1479)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1251](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1251)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1209)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1184)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### addAuthorizedAddress + +#### ▪ **addAuthorizedAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L56)* + +Authorizes an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L91)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L148)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to authorize. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L118)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L217)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:205](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L205)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L192)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:64](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L64)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to authorize. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L137)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### authorities + +#### ▪ **authorities**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L225)* + +#### callAsync + +▸ **callAsync**(`index_0`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:231](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L231)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:301](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L301)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L289)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`BigNumber`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:278](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L278)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### authorized + +#### ▪ **authorized**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:851](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L851)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:857](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L857)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:929](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L929)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:917](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L917)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:904](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L904)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getAuthorizedAddresses + +#### ▪ **getAuthorizedAddresses**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:940](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L940)* + +Gets all authorized addresses. + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:947](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L947)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +Array of authorized addresses. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1011](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1011)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string[]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:999](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L999)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:989](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L989)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getProxyId + +#### ▪ **getProxyId**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:780](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L780)* + +Gets the proxy id associated with the proxy address. + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:787](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L787)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +Proxy id. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:843](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L843)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:831](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L831)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:821](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L821)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### owner + +#### ▪ **owner**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:481](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L481)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:487](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L487)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:551](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L551)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:539](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L539)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:529](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L529)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### removeAuthorizedAddress + +#### ▪ **removeAuthorizedAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:312](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L312)* + +Removes authorizion of an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:347](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L347)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:404](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L404)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to remove authorization from. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L374)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:473](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L473)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:461](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L461)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L448)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:320](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L320)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L393)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### removeAuthorizedAddressAtIndex + +#### ▪ **removeAuthorizedAddressAtIndex**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:562](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L562)* + +Removes authorizion of an address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:607](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L607)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`target`: string, `index`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:688](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L688)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`target` | string | - | Address to remove authorization from. | +`index` | `BigNumber` | - | Index of target in authorities array. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L641)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:769](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L769)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:757](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L757)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string, `index`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:742](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L742)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:571](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L571)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`target` | string | Address to remove authorization from. | +`index` | `BigNumber` | Index of target in authorities array. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`target`: string, `index`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:668](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L668)* + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`index` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferOwnership + +#### ▪ **transferOwnership**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1019](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1019)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1052](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1052)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1107)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`newOwner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1078](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1078)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1175](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1175)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1163](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1163)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1150](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1150)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1026](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1026)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:1097](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L1097)* + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ERC721TokenContract + + +## Constructors + + + +\+ **new ERC721TokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ERC721TokenContract](#class-erc721tokencontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1991](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1991)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ERC721TokenContract.deployedBytecode | + +**Returns:** *[ERC721TokenContract](#class-erc721tokencontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80636352211e11610076578063a22cb4651161005b578063a22cb46514610211578063b88d4fde1461024c578063e985e9c5146102e9576100a3565b80636352211e146101af57806370a08231146101cc576100a3565b8063081812fc146100a8578063095ea7b3146100ee57806323b872dd1461012957806342842e0e1461016c575b600080fd5b6100c5600480360360208110156100be57600080fd5b5035610338565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101276004803603604081101561010457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610360565b005b6101276004803603606081101561013f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610482565b6101276004803603606081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356107ef565b6100c5600480360360208110156101c557600080fd5b5035610989565b6101ff600480360360208110156101e257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a20565b60408051918252519081900360200190f35b6101276004803603604081101561022757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610acd565b6101276004803603608081101561026257600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013590911691604082013591908101906080810160608201356401000000008111156102aa57600080fd5b8201836020820111156102bc57600080fd5b803590602001918460018302840111640100000000831117156102de57600080fd5b509092509050610b66565b610324600480360360408110156102ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610d31565b604080519115158252519081900360200190f35b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061036b82610989565b90503373ffffffffffffffffffffffffffffffffffffffff8216148061039657506103968133610d31565b61040157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f494e56414c49445f53454e4445520000000000000000000000604482015290519081900360640190fd5b60008281526001602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b73ffffffffffffffffffffffffffffffffffffffff821661050457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f5a45524f5f544f5f4144445245535300000000000000000000604482015290519081900360640190fd5b600061050f82610989565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146105ab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4552433732315f4f574e45525f4d49534d415443480000000000000000000000604482015290519081900360640190fd5b3360006105b784610338565b90508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806105f857506105f88383610d31565b8061062e57508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61069957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4552433732315f494e56414c49445f5350454e44455200000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116156106ea57600084815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b60008481526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a811691909117909155891683526002909152902054610753906001610d6c565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260205260408082209390935590871681522054610790906001610d90565b73ffffffffffffffffffffffffffffffffffffffff808716600081815260026020526040808220949094559251879391928a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050505050565b6107fa838383610482565b813b801561098357604080517f150b7a0200000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8681166024830152604482018590526080606483015260006084830181905292519086169163150b7a029160c480830192602092919082900301818787803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461098157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b50505050565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a1a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8216610aa457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4552433732315f5a45524f5f4f574e4552000000000000000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b610b71858585610482565b833b8015610d29576040517f150b7a02000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff89811660248501526044840188905260806064850190815260848501879052600094918a169363150b7a029390928c928b928b928b929060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d6020811015610c5f57600080fd5b505160405190915080602f610e5b8239602f01905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610d2757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4552433732315f494e56414c49445f53454c4543544f52000000000000000000604482015290519081900360640190fd5b505b505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205460ff1690565b600082821115610d8a57610d8a610d8560028585610db3565b610e52565b50900390565b600082820183811015610dac57610dac610d8560008686610db3565b9392505050565b606063e946c1bb60e01b84848460405160240180846003811115610dd357fe5b60ff1681526020018381526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090509392505050565b805160208201fdfe6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158204bc74831490bca4fbe1805808d58d6b0e12f618a37565e744e91d8dc73dc18b164736f6c634300050c0032" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L61)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ERC721TokenEvents](#enumeration-erc721tokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1975](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1975)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[ERC721TokenEventArgs](#erc721tokeneventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [ERC721TokenEvents](#enumeration-erc721tokenevents) | The ERC721Token contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [ERC721TokenEvents](#enumeration-erc721tokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1933](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1933)* + +Subscribe to an event type emitted by the ERC721Token contract. + +**Type parameters:** + +▪ **ArgsType**: *[ERC721TokenEventArgs](#erc721tokeneventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ERC721TokenEvents](#enumeration-erc721tokenevents) | - | The ERC721Token contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1958](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1958)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1964](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1964)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1664](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1664)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1622)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1597](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1597)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### approve + +#### ▪ **approve**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L68)* + +The zero address indicates there is no approved address. +Throws unless `msg.sender` is the current NFT owner, or an authorized +operator of the current owner. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:113](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L113)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_approved` | string | The new approved NFT controller | +`_tokenId` | `BigNumber` | The NFT to approve | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L186)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_approved` | string | - | The new approved NFT controller | +`_tokenId` | `BigNumber` | - | The NFT to approve | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:143](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L143)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_approved` | string | The new approved NFT controller | +`_tokenId` | `BigNumber` | The NFT to approve | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:267](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L267)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:255](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L255)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_approved`: string, `_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:240](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L240)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_approved` | string | The new approved NFT controller | +`_tokenId` | `BigNumber` | The NFT to approve | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L77)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_approved` | string | The new approved NFT controller | +`_tokenId` | `BigNumber` | The NFT to approve | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_approved`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L170)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_approved` | string | +`_tokenId` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### balanceOf + +#### ▪ **balanceOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L279)* + +NFTs assigned to the zero address are considered invalid, and this +function throws for queries about the zero address. + +#### callAsync + +▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:287](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L287)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | An address for whom to query the balance | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The number of NFTs owned by `_owner`, possibly zero + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L358)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:346](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L346)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L335)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | An address for whom to query the balance | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getApproved + +#### ▪ **getApproved**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:369](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L369)* + +Throws if `_tokenId` is not a valid NFT. + +#### callAsync + +▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:377](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L377)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_tokenId` | `BigNumber` | - | The NFT to find the approved address for | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The approved address for this NFT, or the zero address if there is none + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L448)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L436)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`BigNumber`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:425](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L425)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_tokenId` | `BigNumber` | The NFT to find the approved address for | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### isApprovedForAll + +#### ▪ **isApprovedForAll**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:456](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L456)* + +#### callAsync + +▸ **callAsync**(`_owner`: string, `_operator`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:465](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L465)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_owner` | string | - | The address that owns the NFTs | +`_operator` | string | - | The address that acts on behalf of the owner | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +True if `_operator` is an approved operator for `_owner`, false otherwise + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:546](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L546)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:534](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L534)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string, `_operator`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:519](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L519)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_owner` | string | The address that owns the NFTs | +`_operator` | string | The address that acts on behalf of the owner | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### ownerOf + +#### ▪ **ownerOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:558](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L558)* + +NFTs assigned to zero address are considered invalid, and queries +about them do throw. + +#### callAsync + +▸ **callAsync**(`_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:566](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L566)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_tokenId` | `BigNumber` | - | The identifier for an NFT | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The address of the owner of the NFT + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:637](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L637)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:625](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L625)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`BigNumber`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:614](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L614)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_tokenId` | `BigNumber` | The identifier for an NFT | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### safeTransferFrom1 + +#### ▪ **safeTransferFrom1**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:649](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L649)* + +This works identically to the other function with an extra data parameter, +except this function just sets data to "". + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:699](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L699)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:785](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L785)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | The current owner of the NFT | +`_to` | string | - | The new owner | +`_tokenId` | `BigNumber` | - | The NFT to transfer | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:737](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L737)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:872](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L872)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:860](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L860)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:843](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L843)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:659](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L659)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:767](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L767)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_tokenId` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### safeTransferFrom2 + +#### ▪ **safeTransferFrom2**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:889](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L889)* + +Throws unless `msg.sender` is the current owner, an authorized +operator, or the approved address for this NFT. Throws if `_from` is +not the current owner. Throws if `_to` is the zero address. Throws if +`_tokenId` is not a valid NFT. When transfer is complete, this function +checks if `_to` is a smart contract (code size > 0). If so, it calls +`onERC721Received` on `_to` and throws if the return value is not +`bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:944](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L944)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1045](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1045)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | The current owner of the NFT | +`_to` | string | - | The new owner | +`_tokenId` | `BigNumber` | - | The NFT to transfer | +`_data` | string | - | Additional data with no specified format, sent in call to `_to` | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:986](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L986)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1136)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1124](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1124)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string, `BigNumber`, string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1107)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:900](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L900)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`_data` | string | Additional data with no specified format, sent in call to `_to` | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `_data`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1019](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1019)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_tokenId` | `BigNumber` | +`_data` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### setApprovalForAll + +#### ▪ **setApprovalForAll**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1148)* + +Emits the ApprovalForAll event. The contract MUST allow +multiple operators per owner. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1193](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1193)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_operator`: string, `_approved`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1270](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1270)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_operator` | string | - | Address to add to the set of authorized operators | +`_approved` | boolean | - | True if the operator is approved, false to revoke approval | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1227](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1227)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1351](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1351)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1339](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1339)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, boolean]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_operator`: string, `_approved`: boolean): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1324](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1324)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1157](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1157)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_operator` | string | Address to add to the set of authorized operators | +`_approved` | boolean | True if the operator is approved, false to revoke approval | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_operator`: string, `_approved`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1254](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1254)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_operator` | string | +`_approved` | boolean | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferFrom + +#### ▪ **transferFrom**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1365](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1365)* + +Throws unless `msg.sender` is the current owner, an authorized +operator, or the approved address for this NFT. Throws if `_from` is +not the current owner. Throws if `_to` is the zero address. Throws if +`_tokenId` is not a valid NFT. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1415](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1415)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1501](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1501)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | The current owner of the NFT | +`_to` | string | - | The new owner | +`_tokenId` | `BigNumber` | - | The NFT to transfer | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1453](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1453)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1588](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1588)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1576](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1576)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1559](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1559)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1375)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | The current owner of the NFT | +`_to` | string | The new owner | +`_tokenId` | `BigNumber` | The NFT to transfer | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_tokenId`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:1483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L1483)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_tokenId` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ExchangeContract + + +## Constructors + + + +\+ **new ExchangeContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ExchangeContract](#class-exchangecontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13414](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13414)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ExchangeContract.deployedBytecode | + +**Returns:** *[ExchangeContract](#class-exchangecontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x6080604052600436106102d15760003560e01c80638da5cb5b11610179578063beee2e14116100d6578063dd885e2d1161008a578063eea086ba11610064578063eea086ba14610715578063f2fde38b1461072a578063fc74896d1461074a576102d1565b8063dd885e2d146106cd578063dedfc1f1146106ef578063e14b58c414610702576102d1565b8063c26cfecd116100bb578063c26cfecd14610678578063c585bb931461068d578063d9bfa73e146106ad576102d1565b8063beee2e1414610645578063c0fa16cc14610658576102d1565b80639d3fa4b91161012d578063a6c3bf3311610112578063a6c3bf33146105ff578063b04fbddd14610612578063b718e29214610632576102d1565b80639d3fa4b9146105b2578063a12dcc6f146105df576102d1565b80639331c7421161015e5780639331c7421461056c5780639694a4021461058c5780639b44d5561461059f576102d1565b80638da5cb5b146105375780638ea8dfe41461054c576102d1565b80636a1a80fd116102325780638171c407116101e657806388ec79fb116101c057806388ec79fb146104e45780638bc8efb3146105045780638d45cd2314610517576102d1565b80638171c4071461048f57806382c174d0146104af578063850a1501146104cf576102d1565b806377fcce681161021757806377fcce681461044957806378d29ac11461045c5780637b8e35141461046f576102d1565b80636a1a80fd146104165780636fcf3e9e14610436576102d1565b80632da629871161028957806346c02d7a1161026e57806346c02d7a146103c35780634f9559b1146103d657806360704108146103e9576102d1565b80632da629871461038e578063369da099146103a3576102d1565b80632280c910116102ba5780632280c9101461032e578063288cdc911461034e5780632ac126221461036e576102d1565b80630228e168146102d65780631ce4c78b1461030c575b600080fd5b3480156102e257600080fd5b506102f66102f1366004614e64565b61076a565b60405161030391906154c4565b60405180910390f35b34801561031857600080fd5b5061032161077f565b60405161030391906154cf565b61034161033c366004615108565b610785565b60405161030391906156a0565b34801561035a57600080fd5b50610321610369366004614e64565b6107c7565b34801561037a57600080fd5b506102f6610389366004614e64565b6107d9565b6103a161039c366004614f82565b6107ee565b005b6103b66103b1366004614d60565b610812565b60405161030391906159c2565b6103a16103d1366004614e64565b610939565b6103a16103e4366004614e64565b6109ac565b3480156103f557600080fd5b50610409610404366004614eed565b610ab9565b604051610303919061535b565b610429610424366004614c40565b610b07565b604051610303919061594b565b610429610444366004614c40565b610b3f565b6103a1610457366004614b2a565b610b5d565b6103b661046a366004614d60565b610c20565b34801561047b57600080fd5b506102f661048a366004614af6565b610d70565b34801561049b57600080fd5b506102f66104aa366004614ea0565b610d90565b3480156104bb57600080fd5b506102f66104ca366004614e7c565b610def565b3480156104db57600080fd5b50610409610e0f565b6104f76104f236600461500c565b610e2b565b60405161030391906159d0565b6103b6610512366004614d60565b610e49565b34801561052357600080fd5b506102f6610532366004615108565b610e7d565b34801561054357600080fd5b50610409610ea2565b61055f61055a366004614cdc565b610ebe565b60405161030391906154b1565b34801561057857600080fd5b506103a1610587366004614e64565b610fe9565b61055f61059a366004614cdc565b611031565b6103b66105ad3660046150a8565b6110f8565b3480156105be57600080fd5b506105d26105cd366004614f82565b61111d565b6040516103039190615a12565b3480156105eb57600080fd5b506102f66105fa366004614fb5565b611201565b6103b661060d366004614d60565b611226565b34801561061e57600080fd5b506103a161062d366004614b65565b61125a565b6104f761064036600461500c565b611306565b61055f610653366004614cdc565b611324565b34801561066457600080fd5b506103a1610673366004614adb565b6113d9565b34801561068457600080fd5b5061032161147c565b34801561069957600080fd5b506103a16106a8366004614adb565b611482565b3480156106b957600080fd5b506103216106c8366004614af6565b611616565b3480156106d957600080fd5b506106e2611633565b604051610303919061562b565b6103a16106fd366004614c0d565b611657565b6103b66107103660046150a8565b611699565b34801561072157600080fd5b506104096116b4565b34801561073657600080fd5b506103a1610745366004614adb565b6116d0565b61075d610758366004614db3565b611748565b6040516103039190615433565b60056020526000908152604090205460ff1681565b60035481565b606061078f61187b565b156107a55761079e838361189d565b90506107c1565b6107ad6119b7565b6107b7838361189d565b90506107c16119f9565b92915050565b60096020526000908152604090205481565b600a6020526000908152604090205460ff1681565b6107f6611a2b565b6107ff81611a9a565b610807611ad7565b61080f611aeb565b50565b61081a614561565b61082261187b565b156108b857835160005b8181146108b157600061084c846020015187611b1590919063ffffffff16565b9050610856614561565b61088788848151811061086557fe5b60200260200101518388868151811061087a57fe5b6020026020010151611b34565b90506108938582611c75565b9450868560200151106108a75750506108b1565b505060010161082c565b5050610932565b6108c06119b7565b835160005b8181146109285760006108e5846020015187611b1590919063ffffffff16565b90506108ef614561565b6108fe88848151811061086557fe5b905061090a8582611c75565b94508685602001511061091e575050610928565b50506001016108c5565b50506109326119f9565b9392505050565b610941611a2b565b600061094b611d10565b600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff90941683529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550610807611ad7565b6109b4611a2b565b60006109be611d10565b9050600073ffffffffffffffffffffffffffffffffffffffff821633146109e557336109e8565b60005b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600b60209081526040808320938516835292905220549091506001840190808211610a3d57610a3d610a38858584611d42565b611de7565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600b602090815260408083209488168084529490915290819020859055517f82af639571738f4ebd4268fb0363d8957ebe1bbb9e78dba5ebd69eed39b154f090610aa59086906154cf565b60405180910390a350505050610807611ad7565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b610b0f614590565b610b17611a2b565b610b25858585856001611def565b9050610b2f611ad7565b610b37611aeb565b949350505050565b610b47614590565b610b4f611a2b565b610b25858585856000611def565b610b65611a2b565b6000610b6f611d10565b73ffffffffffffffffffffffffffffffffffffffff8181166000818152600860209081526040808320948916808452949091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168715151790555192935090917fa8656e308026eeabce8f0bc18048433252318ab80ac79da0b3d3d8697dfba89190610c039086906154c4565b60405180910390a350610c14611ad7565b610c1c611aeb565b5050565b610c28614561565b610c3061187b565b15610cee57835160005b8181146108b1578251600090610c5790879063ffffffff611b1516565b90506000610c94888481518110610c6a57fe5b602002602001015160a00151898581518110610c8257fe5b6020026020010151608001518461215c565b9050610c9e614561565b610cc2898581518110610cad57fe5b60200260200101518389878151811061087a57fe5b9050610cce8682611c75565b955087866000015110610ce3575050506108b1565b505050600101610c3a565b610cf66119b7565b835160005b818114610928578251600090610d1890879063ffffffff611b1516565b90506000610d2b888481518110610c6a57fe5b9050610d35614561565b610d44898581518110610cad57fe5b9050610d508682611c75565b955087866000015110610d6557505050610928565b505050600101610cfb565b600860209081526000928352604080842090915290825290205460ff1681565b600080610d9e85858561217e565b90506005816008811115610dae57fe5b1480610dc557506007816008811115610dc357fe5b145b15610dda57610dda610a3860058787876121fd565b610de6818686866122a5565b95945050505050565b600760209081526000928352604080842090915290825290205460ff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b610e336145b8565b610e3b611a2b565b610b25858585856000612515565b610e51614561565b610e5c848484610c20565b9050828160000151101561093257610932610a386000858460000151612602565b600080610e956001548561262190919063ffffffff16565b9050610b37848285612635565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ec861187b565b15610f6b578351604080518281526020808402820101909152818015610f0857816020015b610ef5614561565b815260200190600190039081610eed5790505b50915060005b8181146108b157610f4c868281518110610f2457fe5b6020026020010151868381518110610f3857fe5b602002602001015186848151811061087a57fe5b838281518110610f5857fe5b6020908102919091010152600101610f0e565b610f736119b7565b8351604080518281526020808402820101909152818015610fae57816020015b610f9b614561565b815260200190600190039081610f935790505b50915060005b81811461092857610fca868281518110610f2457fe5b838281518110610fd657fe5b6020908102919091010152600101610fb4565b610ff16126bb565b7f3a3e76d7a75e198aef1f53137e4f2a8a2ec74e2e9526db8404d08ccc9f1e621d60035482604051611024929190615543565b60405180910390a1600355565b606061103b611a2b565b835160408051828152602080840282010190915281801561107657816020015b611063614561565b81526020019060019003908161105b5790505b50915060005b8181146110e6576110c786828151811061109257fe5b60200260200101518683815181106110a657fe5b60200260200101518684815181106110ba57fe5b6020026020010151612702565b8382815181106110d357fe5b602090810291909101015260010161107c565b50506110f0611ad7565b610932611aeb565b611100614561565b611108611a2b565b611113848484612702565b90506110f0611ad7565b6111256145ec565b61112e826127a4565b60408301526020820152608082015161114e5760015b60ff168152610b02565b60a082015161115e576002611144565b8160a00151816040015110611174576005611144565b8161010001514210611187576004611144565b6020808201516000908152600a909152604090205460ff16156111ab576006611144565b610120820151825173ffffffffffffffffffffffffffffffffffffffff9081166000908152600b6020908152604080832060608801519094168352929052205411156111f8576006611144565b60038152919050565b600080611219600154856127d590919063ffffffff16565b9050610b378482856127e4565b61122e614561565b611239848484610812565b9050828160200151101561093257610932610a386001858460200151612602565b835160005b8181146112ca576112c28160001b87838151811061127957fe5b602002602001015187848151811061128d57fe5b60200260200101518785815181106112a157fe5b60200260200101518786815181106112b557fe5b6020026020010151612839565b60010161125f565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90615914565b60405180910390fd5b61130e6145b8565b611316611a2b565b610b25858585856001612515565b606061132e611a2b565b835160408051828152602080840282010190915281801561136957816020015b611356614561565b81526020019060019003908161134e5790505b50915060005b8181146110e6576113ba86828151811061138557fe5b602002602001015186838151811061139957fe5b60200260200101518684815181106113ad57fe5b60200260200101516129f3565b8382815181106113c657fe5b602090810291909101015260010161136f565b6113e16126bb565b6004546040517fe1a5430ebec577336427f40f15822f1f36c5e3509ff209d6db9e6c9e6941cb0b9161142d9173ffffffffffffffffffffffffffffffffffffffff90911690849061537c565b60405180910390a1600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015481565b61148a6126bb565b60008173ffffffffffffffffffffffffffffffffffffffff1663ae25532e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114d257600080fd5b505afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061150a9190810190614f09565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16801561156857611568610a388383612a26565b7fffffffff0000000000000000000000000000000000000000000000000000000082166000908152600260205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055517fd2c6b762299c609bdb96520b58a49bfb80186934d4f71a86a367571a15c03194906116099084908690615658565b60405180910390a1505050565b600b60209081526000928352604080842090915290825290205481565b7f20c13b0b0000000000000000000000000000000000000000000000000000000081565b61165f611a2b565b805160005b81811461168f5761168783828151811061167a57fe5b6020026020010151611a9a565b600101611664565b5050610807611ad7565b6116a1614561565b6116a9611a2b565b6111138484846129f3565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6116d86126bb565b73ffffffffffffffffffffffffffffffffffffffff8116611703576116fe610a38612ac8565b61080f565b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff000000000000000000000000000000000000000090911617905550565b606061175261187b565b156117f457825160408051828152602080840282010190915260609082801561178f57816020015b606081526020019060019003908161177a5790505b50905060005b8281146117eb576117cc8682815181106117ab57fe5b60200260200101518683815181106117bf57fe5b602002602001015161189d565b8282815181106117d857fe5b6020908102919091010152600101611795565b509150506107c1565b6117fc6119b7565b825160408051828152602080840282010190915260609082801561183457816020015b606081526020019060019003908161181f5790505b50905060005b82811461186f576118508682815181106117ab57fe5b82828151811061185c57fe5b602090810291909101015260010161183a565b509150506107c16119f9565b6000547501000000000000000000000000000000000000000000900460ff1690565b606060006118b66001548561262190919063ffffffff16565b90506118c3848483612aff565b60608401516118d28180612bd3565b60008281526005602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055608087015190516060913091611920919061530e565b600060405180830381855af49150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915091508161197757611977610a388583612c36565b611982836000612bd3565b60405184907fa4a7329f1dd821363067e07d359e347b4af9b1efe4b6cccf13240228af3c800d90600090a29695505050505050565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055611a29612c53565b565b60005474010000000000000000000000000000000000000000900460ff1615611a5957611a59610a38612c88565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b611aa26145ec565b611aab8261111d565b9050611ab78282612cbf565b805160ff16600314611ac9575061080f565b610c1c828260200151612d6e565b611adf61187b565b611a2957611a29612c53565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600082821115611b2e57611b2e610a3860028585612e17565b50900390565b611b3c614561565b6040516060907f9b44d5560000000000000000000000000000000000000000000000000000000090611b7690879087908790602401615a58565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060603073ffffffffffffffffffffffffffffffffffffffff1683604051611bfe919061530e565b600060405180830381855af49150503d8060008114611c39576040519150601f19603f3d011682016040523d82523d6000602084013e611c3e565b606091505b50915091508115611c6b57805160a014611c5457fe5b80806020019051611c689190810190614f25565b93505b5050509392505050565b611c7d614561565b81518351611c909163ffffffff612e3616565b815260208083015190840151611cab9163ffffffff612e3616565b602082015260408083015190840151611cc99163ffffffff612e3616565b604082015260608083015190840151611ce79163ffffffff612e3616565b606082015260808083015190840151611d059163ffffffff612e3616565b608082015292915050565b60065460009073ffffffffffffffffffffffffffffffffffffffff16818115611d395781611d3b565b335b9250505090565b6060634ad3127560e01b848484604051602401611d61939291906153a3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b805160208201fd5b611df7614590565b8551611e0a57611e0a610a386000612e52565b8451611e1d57611e1d610a386001612e52565b8351865114611e3357611e33610a386002612e52565b8251855114611e4957611e49610a386003612e52565b8551604051908082528060200260200182016040528015611e8457816020015b611e71614561565b815260200190600190039081611e695790505b5081528451604080518281526020808402820101909152908015611ec257816020015b611eaf614561565b815260200190600190039081611ea75790505b506020820152600080611ed361460c565b88600081518110611ee057fe5b60200260200101519050611ef261460c565b88600081518110611eff57fe5b602002602001015190506000611f14836127a4565b9150506000611f22836127a4565b915050611f2d614561565b611f35614561565b611f3d6145b8565b611f7087878f8c81518110611f4e57fe5b60200260200101518f8c81518110611f6257fe5b60200260200101518f612515565b805160200151909150611f8a90869063ffffffff612e3616565b9450611fa781602001516020015185612e3690919063ffffffff16565b9350611fb7838260000151611c75565b9250611fc7828260200151611c75565b9150611fe481604001518b60400151612e3690919063ffffffff16565b60408b0152606080820151908b01516120029163ffffffff612e3616565b60608b015260a087015185106120ad578951805160018b019a859291811061202657fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525092508e5189141561208a57818a60200151898151811061207957fe5b60200260200101819052505061214b565b8e898151811061209657fe5b602002602001015196506120a9876127a4565b9550505b8560a00151841061214557818a6020015189806001019a50815181106120cf57fe5b60200260200101819052506040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525091508d5188141561212257828a600001518a8151811061207957fe5b8d888151811061212e57fe5b60200260200101519550612141866127a4565b9450505b50611f35565b505050505050505095945050505050565b6000610b3783612172868563ffffffff612ef116565b9063ffffffff612f2216565b600061218b848484612f4c565b905073ffffffffffffffffffffffffffffffffffffffff83166121b8576121b8610a3860068686866121fd565b600881818111156121c557fe5b60ff16106121dd576121dd610a3860038686866121fd565b60008160088111156121eb57fe5b141561093257610932610a3860048686865b6060637e5a231860e01b8585858560405160240161221e94939291906158b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b600060018560088111156122b557fe5b14156122dc5781516001146122d4576122d4610a3860028686866121fd565b506000610b37565b60028560088111156122ea57fe5b14156123e357815160421461230957612309610a3860028686866121fd565b60008260008151811061231857fe5b016020015160f81c9050600061233584600163ffffffff612f8b16565b9050600061234a85602163ffffffff612f8b16565b9050600060018885858560405160008152602001604052604051612371949392919061560d565b6020604051602081039080840390855afa158015612393573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff8981169116149550610b37945050505050565b60038560088111156123f157fe5b141561249e57815160421461241057612410610a3860028686866121fd565b60008260008151811061241f57fe5b016020015160f81c9050600061243c84600163ffffffff612f8b16565b9050600061245185602163ffffffff612f8b16565b90506000600188604051602001612468919061532a565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051612371949392919061560d565b60048560088111156124ac57fe5b14156124c4576124bd848484612fb5565b9050610b37565b60068560088111156124d257fe5b146124d957fe5b50600083815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff16949350505050565b61251d6145b8565b61016080870151610140808801919091528701519086015261253d6145ec565b6125468761111d565b90506125506145ec565b6125598761111d565b90506000612565611d10565b90506125738984838a6131ab565b61257f888383896131ab565b6125938989856020015185602001516132e1565b6125ac8989856040015185604001516003543a8b61332c565b93506125c78982856020015186604001518860000151613481565b6125e08882846020015185604001518860200151613481565b6125f6836020015183602001518b8b858961355f565b50505095945050505050565b60606318e4b14160e01b848484604051602401611d619392919061589e565b60006109328261263085613706565b61378e565b60608301516000908161264985838661217e565b9050600581600881111561265957fe5b141561267b5761267461266c87876137c8565b868487613800565b92506126b2565b600781600881111561268957fe5b14156126a35761267461269c87876137c8565b83866138b4565b6126af818684876122a5565b92505b50509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a2957600054611a2990610a3890339073ffffffffffffffffffffffffffffffffffffffff166138c3565b61270a614561565b6127126145ec565b61271b8561111d565b90506000612727611d10565b9050612735868383876131ab565b600061275283604001518860a00151611b1590919063ffffffff16565b9050600061276087836138e0565b905061277088826003543a6138f6565b945060008460200151905061278c89858388604001518a613481565b612798818a868961396d565b50505050509392505050565b6000806127bc600154846127d590919063ffffffff16565b6000818152600960205260409020549092509050915091565b60006109328261263085613a04565b8251600090816127f585838661217e565b9050600581600881111561280557fe5b14156128185761267461266c8787613adb565b600781600881111561282657fe5b14156126a35761267461269c8787613adb565b80156129ec57600384511161285757612857610a3860008787613b13565b6000612869858263ffffffff613b3216565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526002602052604090205490915073ffffffffffffffffffffffffffffffffffffffff16806128c8576128c8610a3860018989613b13565b6040516060907fa85e59e400000000000000000000000000000000000000000000000000000000906129049089908990899089906024016156b3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608373ffffffffffffffffffffffffffffffffffffffff168360405161298c919061530e565b6000604051808303816000865af19150503d80600081146129c9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ce565b606091505b5091509150816129e6576129e6610a388b8b84613b7e565b50505050505b5050505050565b6129fb614561565b612a06848484612702565b90508281602001511461093257610932610a386002858460200151612602565b60606311c7b72060e01b8383604051602401612a43929190615658565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b82602001514210612b1857612b18610a38600183613b9d565b60408301513a8114612b3257612b32610a38833a84613bba565b60065473ffffffffffffffffffffffffffffffffffffffff168015612b5e57612b5e610a388483613bd9565b60008381526005602052604090205460ff1615612b8357612b83610a38600085613b9d565b606085015173ffffffffffffffffffffffffffffffffffffffff81163314801590612bb65750612bb4868587612635565b155b15612bcb57612bcb610a3860018684896121fd565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163314610c1c576006805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790555050565b60606320d11f6160e01b8383604051602401612a43929190615551565b3031801561080f57604051339082156108fc029083906000818181858888f19350505050158015610c1c573d6000803e3d6000fd5b60408051808201909152600481527f0c3b823f00000000000000000000000000000000000000000000000000000000602082015290565b606082015173ffffffffffffffffffffffffffffffffffffffff1615612d1357606082015173ffffffffffffffffffffffffffffffffffffffff163314612d1357612d13610a386002836020015133613bf6565b6000612d1d611d10565b90508073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1614612d6957612d69610a386000846020015184613bf6565b505050565b6000818152600a60205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558281015183516101408501516101608601519351859473ffffffffffffffffffffffffffffffffffffffff9485169493909316927f02c310a9a43963ff31a754a4099cc435ed498049687539d72d7818d9b093415c92612e0b92909190339061571b565b60405180910390a45050565b606063e946c1bb60e01b848484604051602401611d6193929190615846565b60008282018381101561093257610932610a3860008686612e17565b606063d4092f4f60e01b82604051602401612e6d9190615833565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b600082612f00575060006107c1565b82820282848281612f0d57fe5b041461093257610932610a3860018686612e17565b600081612f3857612f38610a3860038585612e17565b6000828481612f4357fe5b04949350505050565b6000815160001415612f6857612f68610a3860028686866121fd565b81600183510381518110612f7857fe5b016020015160f81c6008811115610b3757fe5b60008160200183511015612fac57612fac610a386005855185602001613c15565b50016020015190565b8051600090612fec837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830163ffffffff613c3416565b6040516060907f1626ba7e00000000000000000000000000000000000000000000000000000000906130249088908790602401615551565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506130b3848363ffffffff613c3416565b600060608673ffffffffffffffffffffffffffffffffffffffff16836040516130dc919061530e565b600060405180830381855afa9150503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b509150915081801561312f575080516020145b15613191577fb06713810000000000000000000000000000000000000000000000000000000061316682600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610932565b6131a0610a3889898985613c38565b505050509392505050565b825160ff166003146131da576131da610a388460200151856000015160ff1660068111156131d557fe5b613c59565b606084015173ffffffffffffffffffffffffffffffffffffffff161561322e57606084015173ffffffffffffffffffffffffffffffffffffffff16331461322e5761322e610a386002856020015133613bf6565b602084015173ffffffffffffffffffffffffffffffffffffffff1615613298578173ffffffffffffffffffffffffffffffffffffffff16846020015173ffffffffffffffffffffffffffffffffffffffff161461329857613298610a386001856020015185613bf6565b8351604084015115806132b557506132b584602001518284613c76565b156129ec576132c9858560200151846127e4565b6129ec576129ec610a386000866020015184866121fd565b60a080840151908501516132fa9163ffffffff612ef116565b608080850151908601516133139163ffffffff612ef116565b101561332657613326610a388383613cc9565b50505050565b6133346145b8565b60a088015160009061334c908863ffffffff611b1516565b905060006133638a608001518b60a0015184613ce6565b9050600061337e888b60a00151611b1590919063ffffffff16565b905060006133958b608001518c60a0015184613ce6565b905085156133b2576133ab8c8c85878587613d1a565b94506133c3565b6133c08c8c85878587613dec565b94505b84515160808d015160c08e01516133db929190613ce6565b85516040015284516020015160a08d015160e08e01516133fc929190613ce6565b85516060015260208501515160808c015160c08d015161341d929190613ce6565b856020015160400181815250506134458560200151602001518c60a001518d60e00151613ce6565b6020860151606001526000613460888a63ffffffff612ef116565b86516080908101829052602088015101525050505050979650505050505050565b602081015161349790839063ffffffff612e3616565b600960008581526020019081526020016000208190555082856040015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff167f6869791f0a34781b29882982cc39e882768cf2c96995c2a110c577c53bc932d58861014001518961016001518a61018001518b6101a001518b338a600001518b602001518c604001518d606001518e608001516040516135509b9a99989796959493929190615767565b60405180910390a45050505050565b8351835160408087015190860151610140870151855160200151613588918b9186908890612839565b6135a28a8961014001518686896020015160200151612839565b6135bc898861018001518584896020015160400151612839565b6135d68a8961018001518685896000015160400151612839565b6135ec8a89610140015186898960400151612839565b6136028988610140015185898960600151612839565b600061361a8b8b88600001516080015188888c613e85565b905080613637578551600060809182018190526020880151909101525b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561368757506101a080890151908a01516136879163ffffffff613ee216565b156136c5576136c08b8a6101a0015189866136bb8b60200151606001518c6000015160600151612e3690919063ffffffff16565b612839565b6136f9565b6136df8a896101a0015189858a6020015160600151612839565b6136f98b8a6101a0015189868a6000015160600151612839565b5050505050505050505050565b608081810151825160208085015160408087015160609788015186519685019690962082517fec69816980a3a3ca4554410e60253953e9ff375ba4536a98adfa15cc71541508815294850195909552908301919091529481019490945273ffffffffffffffffffffffffffffffffffffffff9091169183019190915260a082015260c0902090565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6040516060907fde047db40000000000000000000000000000000000000000000000000000000090612a439085908590602401615a83565b8051600090601581101561381e5761381e610a3860028787876121fd565b6000613852847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb840163ffffffff613f0716565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526008602090815260408083209385168352929052205490915060ff1661389c5761389c610a388683613f47565b6138a98188866015613f64565b979650505050505050565b6000610b378385846001613f64565b6060631de45ad160e01b8383604051602401612a4392919061537c565b60008183106138ef5781610932565b5090919050565b6138fe614561565b6020810184905260a0850151608086015161391a918691613ce6565b815260a085015160c0860151613931918691613ce6565b604082015260a085015160e086015161394b918691613ce6565b6060820152613960828463ffffffff612ef116565b6080820152949350505050565b613987848461016001518486600001518560200151612839565b6139a1848461014001518560000151858560000151612839565b6139bb84846101a001518486604001518560600151612839565b6139d984846101800151856000015186604001518560400151612839565b60006139ef85836080015186600001518661413b565b9050806129ec57600060808301525050505050565b6101408101516101608201516101808301516101a08401516000937ff80322eb8376aafb64eadf8f0d7623f22130fd9491a221e902b713cb984a753493909290916020871015613a5057fe5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087018051610140890180516101608b0180516101808d0180516101a08f0180519d89528c5160209d8e012087528b519b8d019b909b2084528951998c01999099208152875197909a019690962088526101e085209390945290529190529252919091529050919050565b6040516060907f3efe50c80000000000000000000000000000000000000000000000000000000090612a439085908590602401615a36565b606063488219a660e01b848484604051602401611d619392919061580b565b60008160040183511015613b5357613b53610a386003855185600401613c15565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b6060634678472b60e01b848484604051602401611d619392919061556a565b606063f598518460e01b8383604051602401612a439291906158fd565b606063a26dac0960e01b848484604051602401611d61939291906155f7565b606063dec4aedf60e01b8383604051602401612a439291906154d8565b606063e53c76c860e01b848484604051602401611d6193929190615867565b6060632800659560e01b848484604051602401611d61939291906158ab565b9052565b6060631b8388f760e01b8585858560405160240161221e94939291906154fc565b606063fdb6ca8d60e01b8383604051602401612a43929190615595565b600080613c84858585612f4c565b90506004816008811115613c9457fe5b1480613cab57506005816008811115613ca957fe5b145b80610de657506007816008811115613cbf57fe5b1495945050505050565b606063b6555d6f60e01b8383604051602401612a43929190615543565b6000613cf3848484614181565b15613d0657613d06610a388585856141e7565b610b3783612172868563ffffffff612ef116565b613d226145b8565b81851184841184861115613d4257613d3b898686614206565b9250613d91565b86841115613d825782518790528251602001869052608088015160a0890151613d6c919089613ce6565b6020808501805192909252905101879052613d91565b613d8e87878787614243565b92505b8115613db7576020808401510151835151613db19163ffffffff611b1516565b60408401525b8015613ddf5782516020908101519084015151613dd99163ffffffff611b1516565b60608401525b50505b9695505050505050565b613df46145b8565b82841115613e0e57613e07878484614206565b9050613e5c565b82841015613e4d5780518590528051602090810185905281015184905260a08601516080870151613e4091908661426e565b6020808301510152613e5c565b613e5985858585614243565b90505b6020808201510151815151613e769163ffffffff611b1516565b60408201529695505050505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff168015613ed85730316000613eb98a84848b8b8a6142c2565b9050613ecb89848385038b8a8a6142c2565b5060019350505050613de2565b6000915050613de2565b6000815183511480156109325750508051602091820120825192909101919091201490565b60008160140183511015613f2857613f28610a386004855185601401613c15565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b606063a15c0d0660e01b8383604051602401612a4392919061537c565b8151600090613f7b8484830363ffffffff613c3416565b6040516060907f20c13b0b0000000000000000000000000000000000000000000000000000000090613fb390889088906024016156f6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050614042858363ffffffff613c3416565b600060608873ffffffffffffffffffffffffffffffffffffffff168360405161406b919061530e565b600060405180830381855afa9150503d80600081146140a6576040519150601f19603f3d011682016040523d82523d6000602084013e6140ab565b606091505b50915091508180156140be575080516020145b15614120577f20c13b0b000000000000000000000000000000000000000000000000000000006140f582600063ffffffff613b3216565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614945050505050610b37565b61412f610a388a8a8a856143fa565b50505050949350505050565b60045460009073ffffffffffffffffffffffffffffffffffffffff1680156141775761416c868230318888886142c2565b506001915050610b37565b6000915050610b37565b60008261419357614193610a3861441b565b81158061419e575083155b156141ab57506000610932565b600083806141b557fe5b85840990506141ca858463ffffffff612ef116565b6141dc826103e863ffffffff612ef116565b101595945050505050565b606063339f3de260e01b848484604051602401611d61939291906155f7565b61420e6145b8565b60208082018051859052518101839052815101839052608084015160a0850151614239919085613ce6565b8151529392505050565b61424b6145b8565b805194909452835160209081019390935282840180519290925290519091015290565b600061427b848484614452565b1561428e5761428e610a388585856141e7565b610b37836121726142a682600163ffffffff611b1516565b6142b6888763ffffffff612ef116565b9063ffffffff612e3616565b60008385106142ce5750825b6040516060907fa3b4a3270000000000000000000000000000000000000000000000000000000090614308908690869089906024016153a3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608873ffffffffffffffffffffffffffffffffffffffff168484604051614391919061530e565b60006040518083038185875af1925050503d80600081146143ce576040519150601f19603f3d011682016040523d82523d6000602084013e6143d3565b606091505b5091509150816143ed576143ed610a388b898989866144b6565b5050509695505050505050565b6060635bd0428d60e01b8585858560405160240161221e94939291906153d4565b60408051808201909152600481527fa791837c00000000000000000000000000000000000000000000000000000000602082015290565b60008261446457614464610a3861441b565b81158061446f575083155b1561447c57506000610932565b6000838061448657fe5b85840990508361449c818363ffffffff611b1516565b816144a357fe5b0690506141ca858463ffffffff612ef116565b60606387cb1e7560e01b86868686866040516024016144d99594939291906155b2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060800160405280606081526020016060815260200160008152602001600081525090565b60405180608001604052806145cb614561565b81526020016145d8614561565b815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b604051806101c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016060815260200160608152602001606081525090565b803573ffffffffffffffffffffffffffffffffffffffff811681146107c157600080fd5b600082601f830112614707578081fd5b813561471a61471582615b14565b615aed565b81815291506020808301908481018184028601820187101561473b57600080fd5b60005b848110156147625761475088836146d3565b8452928201929082019060010161473e565b505050505092915050565b600082601f83011261477d578081fd5b813561478b61471582615b14565b8181529150602080830190840160005b838110156147c8576147b3876020843589010161488b565b8352602092830192919091019060010161479b565b5050505092915050565b600082601f8301126147e2578081fd5b81356147f061471582615b14565b8181529150602080830190840160005b838110156147c8576148188760208435890101614912565b83526020928301929190910190600101614800565b600082601f83011261483d578081fd5b813561484b61471582615b14565b81815291506020808301908481018184028601820187101561486c57600080fd5b60005b848110156147625781358452928201929082019060010161486f565b600082601f83011261489b578081fd5b813567ffffffffffffffff8111156148b1578182fd5b6148e260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615aed565b91508082528360208285010111156148f957600080fd5b8060208401602084013760009082016020015292915050565b60006101c0808385031215614925578182fd5b61492e81615aed565b91505061493b83836146d3565b815261494a83602084016146d3565b602082015261495c83604084016146d3565b604082015261496e83606084016146d3565b60608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff808211156149d057600080fd5b6149dc8683870161488b565b838501526101609250828501359150808211156149f857600080fd5b614a048683870161488b565b83850152610180925082850135915080821115614a2057600080fd5b614a2c8683870161488b565b838501526101a0925082850135915080821115614a4857600080fd5b50614a558582860161488b565b82840152505092915050565b600060a08284031215614a72578081fd5b614a7c60a0615aed565b90508135815260208201356020820152604082013560408201526060820135614aa481615b88565b6060820152608082013567ffffffffffffffff811115614ac357600080fd5b614acf8482850161488b565b60808301525092915050565b600060208284031215614aec578081fd5b61093283836146d3565b60008060408385031215614b08578081fd5b614b1284846146d3565b9150614b2184602085016146d3565b90509250929050565b60008060408385031215614b3c578182fd5b614b4684846146d3565b915060208301358015158114614b5a578182fd5b809150509250929050565b60008060008060808587031215614b7a578182fd5b843567ffffffffffffffff80821115614b91578384fd5b614b9d8883890161476d565b95506020870135915080821115614bb2578384fd5b614bbe888389016146f7565b94506040870135915080821115614bd3578384fd5b614bdf888389016146f7565b93506060870135915080821115614bf4578283fd5b50614c018782880161482d565b91505092959194509250565b600060208284031215614c1e578081fd5b813567ffffffffffffffff811115614c34578182fd5b610b37848285016147d2565b60008060008060808587031215614c55578182fd5b843567ffffffffffffffff80821115614c6c578384fd5b614c78888389016147d2565b95506020870135915080821115614c8d578384fd5b614c99888389016147d2565b94506040870135915080821115614cae578384fd5b614cba8883890161476d565b93506060870135915080821115614ccf578283fd5b50614c018782880161476d565b600080600060608486031215614cf0578081fd5b833567ffffffffffffffff80821115614d07578283fd5b614d13878388016147d2565b94506020860135915080821115614d28578283fd5b614d348783880161482d565b93506040860135915080821115614d49578283fd5b50614d568682870161476d565b9150509250925092565b600080600060608486031215614d74578081fd5b833567ffffffffffffffff80821115614d8b578283fd5b614d97878388016147d2565b9450602086013593506040860135915080821115614d49578283fd5b60008060408385031215614dc5578182fd5b823567ffffffffffffffff80821115614ddc578384fd5b81850186601f820112614ded578485fd5b80359250614dfd61471584615b14565b83815260208082019190838101885b87811015614e3557614e238c848435890101614a61565b85529382019390820190600101614e0c565b50919750880135945050505080821115614e4d578283fd5b50614e5a8582860161476d565b9150509250929050565b600060208284031215614e75578081fd5b5035919050565b60008060408385031215614e8e578182fd5b823591506020830135614b5a81615b88565b600080600060608486031215614eb4578081fd5b833592506020840135614ec681615b88565b9150604084013567ffffffffffffffff811115614ee1578182fd5b614d568682870161488b565b600060208284031215614efe578081fd5b813561093281615baa565b600060208284031215614f1a578081fd5b815161093281615baa565b600060a0828403128015614f37578182fd5b8015614f41578182fd5b50614f4c60a0615aed565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215614f93578081fd5b813567ffffffffffffffff811115614fa9578182fd5b610b3784828501614912565b60008060408385031215614fc7578182fd5b823567ffffffffffffffff80821115614fde578384fd5b614fea86838701614912565b93506020850135915080821115614fff578283fd5b50614e5a8582860161488b565b60008060008060808587031215615021578182fd5b843567ffffffffffffffff80821115615038578384fd5b61504488838901614912565b95506020870135915080821115615059578384fd5b61506588838901614912565b9450604087013591508082111561507a578384fd5b6150868883890161488b565b9350606087013591508082111561509b578283fd5b50614c018782880161488b565b6000806000606084860312156150bc578081fd5b833567ffffffffffffffff808211156150d3578283fd5b6150df87838801614912565b94506020860135935060408601359150808211156150fb578283fd5b50614d568682870161488b565b6000806040838503121561511a578182fd5b823567ffffffffffffffff80821115615131578384fd5b614fea86838701614a61565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845260208401935060208301825b828110156151935761517d8683516151e7565b60a095909501946020919091019060010161516a565b5093949350505050565b600081518084526151b5816020860160208601615b34565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60006101c061522784845161513d565b6020830151615239602086018261513d565b50604083015161524c604086018261513d565b50606083015161525f606086018261513d565b506080830151608085015260a083015160a085015260c083015160c085015260e083015160e08501526101008084015181860152506101208084015181860152506101408084015182828701526152b88387018261519d565b915050610160915081840151858203838701526152d5828261519d565b9250505061018080840151858303828701526152f1838261519d565b9150506101a091508184015185820383870152613de2828261519d565b60008251615320818460208701615b34565b9190910192915050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff8616825260806020830152615403608083018661519d565b8281036040840152615415818661519d565b8381036060850152615427818661519d565b98975050505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156154a4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261549285835161519d565b94509285019290850190600101615458565b5092979650505050505050565b6000602082526109326020830184615157565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600085825273ffffffffffffffffffffffffffffffffffffffff8516602083015260806040830152615531608083018561519d565b82810360608401526138a9818561519d565b918252602082015260400190565b600083825260406020830152610b37604083018461519d565b600084825260606020830152615583606083018561519d565b8281036040840152613de2818561519d565b828152604081016155a583615b7e565b8260208301529392505050565b600086825285602083015273ffffffffffffffffffffffffffffffffffffffff808616604084015280851660608401525060a060808301526138a960a083018461519d565b9283526020830191909152604082015260600190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600060208252610932602083018461519d565b6000608082526156c6608083018761519d565b73ffffffffffffffffffffffffffffffffffffffff95861660208401529390941660408201526060015292915050565b600060408252615709604083018561519d565b8281036020840152610de6818561519d565b60006060825261572e606083018661519d565b8281036020840152615740818661519d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600061016080835261577b8184018f61519d565b838103602085015261578d818f61519d565b91505082810360408401526157a2818d61519d565b83810360608501526157b4818d61519d565b73ffffffffffffffffffffffffffffffffffffffff9b8c16608086015299909a1660a0840152505060c081019590955260e08501939093526101008401919091526101208301526101409091015295945050505050565b600061581685615b60565b84825283602083015260606040830152610de6606083018461519d565b6020810161584083615b6a565b91905290565b6060810161585385615b6a565b938152602081019290925260409091015290565b6060810161587485615b74565b938152602081019290925273ffffffffffffffffffffffffffffffffffffffff1660409091015290565b6060810161585385615b74565b606081016008851061585357fe5b60006158c486615b7e565b85825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152613de2608083018461519d565b6040810161590a84615b60565b9281526020015290565b60208082526014908201527f5452414e53464552535f5355434345535346554c000000000000000000000000604082015260600190565b60006020825282516080602084015261596760a0840182615157565b602085015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08482030160408501526159a28183615157565b604086015160608601526060860151608086015280935050505092915050565b60a081016107c182846151e7565b6000610180820190506159e48284516151e7565b60208301516159f660a08401826151e7565b5060408301516101408301526060909201516101609091015290565b815160ff168152602080830151908201526040918201519181019190915260600190565b600060408252615a496040830185615217565b90508260208301529392505050565b600060608252615a6b6060830186615217565b8460208401528281036040840152613de2818561519d565b60006040825283516040830152602084015160608301526040840151608083015273ffffffffffffffffffffffffffffffffffffffff60608501511660a0830152608084015160a060c0840152615add60e084018261519d565b9150508260208301529392505050565b60405181810167ffffffffffffffff81118282101715615b0c57600080fd5b604052919050565b600067ffffffffffffffff821115615b2a578081fd5b5060209081020190565b60005b83811015615b4f578181015183820152602001615b37565b838111156133265750506000910152565b6002811061080f57fe5b6004811061080f57fe5b6003811061080f57fe5b6007811061080f57fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461080f57600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461080f57600080fd5b8351602094850120835193850193909320604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815295860194909452928401929092526060830152608082015260a090209056fea365627a7a723158206fc97c5a1d6fde6b2ada9eb4429966e52d7e2da39180893c04bf55c840b346a16c6578706572696d656e74616cf564736f6c634300050c0040" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:110](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L110)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ExchangeEvents](#enumeration-exchangeevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13398)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[ExchangeEventArgs](#exchangeeventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [ExchangeEvents](#enumeration-exchangeevents) | The Exchange contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [ExchangeEvents](#enumeration-exchangeevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13356](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13356)* + +Subscribe to an event type emitted by the Exchange contract. + +**Type parameters:** + +▪ **ArgsType**: *[ExchangeEventArgs](#exchangeeventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ExchangeEvents](#enumeration-exchangeevents) | - | The Exchange contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13381)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:13387](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L13387)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10467](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10467)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `chainId`: `BigNumber`): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10420)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`chainId` | `BigNumber` | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `chainId`: `BigNumber`): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10394)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`chainId` | `BigNumber` | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### EIP1271_MAGIC_VALUE + +#### ▪ **EIP1271_MAGIC_VALUE**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L112)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L118)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:182](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L182)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L170)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:160](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L160)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### EIP712_EXCHANGE_DOMAIN_HASH + +#### ▪ **EIP712_EXCHANGE_DOMAIN_HASH**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:190](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L190)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L196)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:260](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L260)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:248](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L248)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L238)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### allowedValidators + +#### ▪ **allowedValidators**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:268](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L268)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:274](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L274)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`index_1` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L353)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L341)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:326](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L326)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | +`index_1` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### batchCancelOrders + +#### ▪ **batchCancelOrders**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:364](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L364)* + +Executes multiple calls of cancelOrder. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L420)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:531](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L531)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:462](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L462)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:682](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L682)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:630](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L630)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`Array`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:599](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L599)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:372](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L372)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:502](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L502)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### batchExecuteTransactions + +#### ▪ **batchExecuteTransactions**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:695](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L695)* + +Executes a batch of Exchange method calls in the context of signer(s). + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`transactions`: `Array`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:748](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L748)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transactions` | `Array` | Array of 0x transaction structures. | +`signatures` | string[] | Array of proofs that transactions have been signed by signer(s). | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`transactions`: `Array`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:846](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L846)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`transactions` | `Array` | - | Array of 0x transaction structures. | +`signatures` | string[] | - | Array of proofs that transactions have been signed by signer(s). | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Array containing ABI encoded return data for each of the underlying Exchange function calls. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`transactions`: `Array`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:785](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L785)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transactions` | `Array` | Array of 0x transaction structures. | +`signatures` | string[] | Array of proofs that transactions have been signed by signer(s). | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string[]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:963](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L963)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string[]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:933](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L933)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`transactions`: `Array`, `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:909](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L909)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transactions` | `Array` | Array of 0x transaction structures. | +`signatures` | string[] | Array of proofs that transactions have been signed by signer(s). | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`transactions`: `Array`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:705](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L705)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transactions` | `Array` | Array of 0x transaction structures. | +`signatures` | string[] | Array of proofs that transactions have been signed by signer(s). | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`transactions`: `Array`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:818](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L818)* + +**Parameters:** + +Name | Type | +------ | ------ | +`transactions` | `Array` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### batchFillOrKillOrders + +#### ▪ **batchFillOrKillOrders**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:976](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L976)* + +Executes multiple calls of fillOrKillOrder. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1042](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1042)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1180)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | - | Proofs that orders have been created by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise>`* + +Array of amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1096](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1096)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1354](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1354)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`Array`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1306](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1306)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1271](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1271)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:987](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L987)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1140](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1140)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAssetFillAmounts` | `BigNumber`[] | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### batchFillOrders + +#### ▪ **batchFillOrders**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1383](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1383)* + +Executes multiple calls of fillOrder. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1449)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1587](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1587)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | - | Proofs that orders have been created by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise>`* + +Array of amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1503](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1503)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1761](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1761)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`Array`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1713](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1713)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1678](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1678)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1394)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1547](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1547)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAssetFillAmounts` | `BigNumber`[] | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### batchFillOrdersNoThrow + +#### ▪ **batchFillOrdersNoThrow**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1790](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1790)* + +Executes multiple calls of fillOrder. If any fill reverts, the error is caught and ignored. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1856](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1856)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1994](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1994)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | - | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | - | Proofs that orders have been created by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise>`* + +Array of amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1910](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1910)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2168)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`Array`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2120)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2085](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2085)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1801](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1801)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmounts` | `BigNumber`[] | Array of desired amounts of takerAsset to sell in orders. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmounts`: `BigNumber`[], `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:1954](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L1954)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAssetFillAmounts` | `BigNumber`[] | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### batchMatchOrders + +#### ▪ **batchMatchOrders**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2199](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2199)* + +Match complementary orders that have a profitable spread. +Each order is filled at their respective price point, and +the matcher receives a profit denominated in the left maker asset. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2286](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2286)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2486](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2486)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`leftOrders` | `Array` | - | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | - | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | - | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | - | Proof that right orders were created by the right makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +batchMatchedFillResults Amounts filled and profit generated. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2360)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2714](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2714)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2666](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2666)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2614](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2614)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2212)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2421](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2421)* + +**Parameters:** + +Name | Type | +------ | ------ | +`leftOrders` | `Array` | +`rightOrders` | `Array` | +`leftSignatures` | string[] | +`rightSignatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### batchMatchOrdersWithMaximalFill + +#### ▪ **batchMatchOrdersWithMaximalFill**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2766](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2766)* + +Match complementary orders that have a profitable spread. +Each order is maximally filled at their respective price point, and +the matcher receives a profit denominated in either the left maker asset, +right maker asset, or a combination of both. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2853](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2853)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3053](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3053)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`leftOrders` | `Array` | - | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | - | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | - | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | - | Proof that right orders were created by the right makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +batchMatchedFillResults Amounts filled and profit generated. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2927](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2927)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3281)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3233](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3233)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3181)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2779](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2779)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrders` | `Array` | Set of orders with the same maker / taker asset. | +`rightOrders` | `Array` | Set of orders to match against `leftOrders` | +`leftSignatures` | string[] | Proof that left orders were created by the left makers. | +`rightSignatures` | string[] | Proof that right orders were created by the right makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`leftOrders`: `Array`, `rightOrders`: `Array`, `leftSignatures`: string[], `rightSignatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:2988](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L2988)* + +**Parameters:** + +Name | Type | +------ | ------ | +`leftOrders` | `Array` | +`rightOrders` | `Array` | +`leftSignatures` | string[] | +`rightSignatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### cancelOrder + +#### ▪ **cancelOrder**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3330)* + +After calling, the order can not be filled anymore. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`order`: object, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3385](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3385)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`order`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3494](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3494)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | Order struct containing order specifications. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3426](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3426)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3641)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[object]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3589](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3589)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[object]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3561)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3338](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3338)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`order`: object, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3465](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3465)* + +**Parameters:** + +Name | Type | +------ | ------ | +`order` | object | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### cancelOrdersUpTo + +#### ▪ **cancelOrdersUpTo**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3655)* + +Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch +and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress). + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3692](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3692)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`targetOrderEpoch`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3754](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3754)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | - | Orders created with a salt less or equal to this value will be cancelled. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3720](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3720)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3828](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3828)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3816](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3816)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`targetOrderEpoch`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3803](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3803)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3664](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3664)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | Orders created with a salt less or equal to this value will be cancelled. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`targetOrderEpoch`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3739](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3739)* + +**Parameters:** + +Name | Type | +------ | ------ | +`targetOrderEpoch` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### cancelled + +#### ▪ **cancelled**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3836](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3836)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3842](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3842)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3912](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3912)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3900](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3900)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3889](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3889)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### currentContextAddress + +#### ▪ **currentContextAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3920](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3920)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3926](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3926)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3990](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3990)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3978](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3978)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:3968](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L3968)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### executeTransaction + +#### ▪ **executeTransaction**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4001](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4001)* + +Executes an Exchange method call in the context of signer. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`transaction`: object, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4051](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4051)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`transaction`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4141)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`transaction` | object | - | 0x transaction structure. | +`signature` | string | - | Proof that transaction has been signed by signer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +ABI encoded return data of the underlying Exchange function call. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`transaction`: object, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4086](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4086)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4253](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4253)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4225)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`transaction`: object, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4202](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4202)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`transaction`: object, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4010](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4010)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | 0x transaction structure. | +`signature` | string | Proof that transaction has been signed by signer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`transaction`: object, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4118)* + +**Parameters:** + +Name | Type | +------ | ------ | +`transaction` | object | +`signature` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### fillOrKillOrder + +#### ▪ **fillOrKillOrder**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4266](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4266)* + +Fills the input order. Reverts if exact takerAssetFillAmount not filled. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4329)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4462](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4462)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | +`signature` | string | - | Proof that order has been created by maker. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4381)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4627](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4627)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4581](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4581)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4547](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4547)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4276](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4276)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4424](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4424)* + +**Parameters:** + +Name | Type | +------ | ------ | +`order` | object | +`takerAssetFillAmount` | `BigNumber` | +`signature` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### fillOrder + +#### ▪ **fillOrder**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4654](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4654)* + +Fills the input order. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4717](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4717)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4846](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4846)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | +`signature` | string | - | Proof that order has been created by maker. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amounts filled and fees paid by maker and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4764](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4764)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5011](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5011)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4965](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4965)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4931](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4931)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4664](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4664)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order struct containing order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signature` | string | Proof that order has been created by maker. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`order`: object, `takerAssetFillAmount`: `BigNumber`, `signature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:4807](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L4807)* + +**Parameters:** + +Name | Type | +------ | ------ | +`order` | object | +`takerAssetFillAmount` | `BigNumber` | +`signature` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### filled + +#### ▪ **filled**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5035](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5035)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5041](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5041)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5111)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5099](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5099)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5088](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5088)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getAssetProxy + +#### ▪ **getAssetProxy**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5122)* + +Gets an asset proxy. + +#### callAsync + +▸ **callAsync**(`assetProxyId`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5130)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetProxyId` | string | - | Id of the asset proxy. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +The asset proxy registered to assetProxyId. Returns 0x0 if no proxy is registered. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5201](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5201)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5189](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5189)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetProxyId`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5178](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5178)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetProxyId` | string | Id of the asset proxy. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getOrderInfo + +#### ▪ **getOrderInfo**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5212)* + +Gets information about an order: status, hash, and amount filled. + +#### callAsync + +▸ **callAsync**(`order`: object, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5220)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | Order to gather information on. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +OrderInfo Information about the order and its state. See LibOrder.OrderInfo for a complete description. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5365](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5365)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5319](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5319)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5291](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5291)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | Order to gather information on. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### isValidHashSignature + +#### ▪ **isValidHashSignature**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5384](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5384)* + +Verifies that a hash has been signed by the given signer. + +#### callAsync + +▸ **callAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5394)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`hash` | string | - | Any 32-byte hash. | +`signerAddress` | string | - | Address that should have signed the given hash. | +`signature` | string | - | Proof that the hash has been signed by signer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +isValid `true` if the signature is valid for the given hash and signer. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5480)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5468)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`hash`: string, `signerAddress`: string, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5452](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5452)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32-byte hash. | +`signerAddress` | string | Address that should have signed the given hash. | +`signature` | string | Proof that the hash has been signed by signer. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### isValidOrderSignature + +#### ▪ **isValidOrderSignature**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5491](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5491)* + +Verifies that a signature for an order is valid. + +#### callAsync + +▸ **callAsync**(`order`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5500](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5500)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | object | - | The order. | +`signature` | string | - | Proof that the order has been signed by signer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +isValid `true` if the signature is valid for the given order and signer. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5648](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5648)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5602](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5602)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5570](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5570)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | object | The order. | +`signature` | string | Proof that the order has been signed by signer. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### isValidTransactionSignature + +#### ▪ **isValidTransactionSignature**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5661](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5661)* + +Verifies that a signature for a transaction is valid. + +#### callAsync + +▸ **callAsync**(`transaction`: object, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5670](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5670)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`transaction` | object | - | The transaction. | +`signature` | string | - | Proof that the order has been signed by signer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +isValid `true` if the signature is valid for the given transaction and signer. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5782](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5782)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5754](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5754)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`transaction`: object, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5731](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5731)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | object | The transaction. | +`signature` | string | Proof that the order has been signed by signer. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### marketBuyOrdersFillOrKill + +#### ▪ **marketBuyOrdersFillOrKill**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5796](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5796)* + +Calls marketBuyOrdersNoThrow then reverts if < makerAssetFillAmount has been bought. +NOTE: This function does not enforce that the makerAsset is the same for each order. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5860](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5860)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5996](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5996)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | - | Minimum amount of makerAsset to buy. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5913](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5913)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6165](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6165)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6117)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6082](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6082)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5806](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5806)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Minimum amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:5957](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L5957)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`makerAssetFillAmount` | `BigNumber` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### marketBuyOrdersNoThrow + +#### ▪ **marketBuyOrdersNoThrow**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6194)* + +Executes multiple calls of fillOrder until total amount of makerAsset is bought by taker. +If any fill reverts, the error is caught and ignored. +NOTE: This function does not enforce that the makerAsset is the same for each order. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6258](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6258)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6394)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | - | Desired amount of makerAsset to buy. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6311](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6311)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6563](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6563)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6515](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6515)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6480)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6204)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`makerAssetFillAmount` | `BigNumber` | Desired amount of makerAsset to buy. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `makerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6355)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`makerAssetFillAmount` | `BigNumber` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### marketSellOrdersFillOrKill + +#### ▪ **marketSellOrdersFillOrKill**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6591](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6591)* + +Calls marketSellOrdersNoThrow then reverts if < takerAssetFillAmount has been sold. +NOTE: This function does not enforce that the takerAsset is the same for each order. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6655)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6791](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6791)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | - | Minimum amount of takerAsset to sell. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6708](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6708)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6960](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6960)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6912](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6912)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6877](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6877)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6601](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6601)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Minimum amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6752](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6752)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAssetFillAmount` | `BigNumber` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### marketSellOrdersNoThrow + +#### ▪ **marketSellOrdersNoThrow**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6989](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6989)* + +Executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. +If any fill reverts, the error is caught and ignored. +NOTE: This function does not enforce that the takerAsset is the same for each order. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7053](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7053)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7189](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7189)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | - | Desired amount of takerAsset to sell. | +`signatures` | string[] | - | Proofs that orders have been signed by makers. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Amounts filled and fees paid by makers and taker. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7106](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7106)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7358)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7310](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7310)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7275](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7275)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:6999](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L6999)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications. | +`takerAssetFillAmount` | `BigNumber` | Desired amount of takerAsset to sell. | +`signatures` | string[] | Proofs that orders have been signed by makers. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `takerAssetFillAmount`: `BigNumber`, `signatures`: string[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7150](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7150)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAssetFillAmount` | `BigNumber` | +`signatures` | string[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### matchOrders + +#### ▪ **matchOrders**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7388](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7388)* + +Match two complementary orders that have a profitable spread. +Each order is filled at their respective price point. However, the calculations are +carried out as though the orders are both being filled at the right order's price point. +The profit made by the left order goes to the taker (who matched the two orders). + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7469](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7469)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7655)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`leftOrder` | object | - | First order to match. | +`rightOrder` | object | - | Second order to match. | +`leftSignature` | string | - | Proof that order was created by the left maker. | +`rightSignature` | string | - | Proof that order was created by the right maker. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +matchedFillResults Amounts filled and fees paid by maker and taker of matched orders. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7539](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7539)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7875](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7875)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7829](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7829)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7779](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7779)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7399](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7399)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7598](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7598)* + +**Parameters:** + +Name | Type | +------ | ------ | +`leftOrder` | object | +`rightOrder` | object | +`leftSignature` | string | +`rightSignature` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### matchOrdersWithMaximalFill + +#### ▪ **matchOrdersWithMaximalFill**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7927](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7927)* + +Match two complementary orders that have a profitable spread. +Each order is maximally filled at their respective price point, and +the matcher receives a profit denominated in either the left maker asset, +right maker asset, or a combination of both. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8008](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8008)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8200](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8200)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`leftOrder` | object | - | First order to match. | +`rightOrder` | object | - | Second order to match. | +`leftSignature` | string | - | Proof that order was created by the left maker. | +`rightSignature` | string | - | Proof that order was created by the right maker. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +matchedFillResults Amounts filled by maker and taker of matched orders. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8078](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8078)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8420](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8420)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8374)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8324](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8324)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:7938](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L7938)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`leftOrder` | object | First order to match. | +`rightOrder` | object | Second order to match. | +`leftSignature` | string | Proof that order was created by the left maker. | +`rightSignature` | string | Proof that order was created by the right maker. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`leftOrder`: object, `rightOrder`: object, `leftSignature`: string, `rightSignature`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8137)* + +**Parameters:** + +Name | Type | +------ | ------ | +`leftOrder` | object | +`rightOrder` | object | +`leftSignature` | string | +`rightSignature` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### orderEpoch + +#### ▪ **orderEpoch**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8466](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8466)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8472](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8472)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`index_1` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8551](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8551)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8539](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8539)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8524](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8524)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | +`index_1` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### owner + +#### ▪ **owner**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8559](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8559)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8565](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8565)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8629](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8629)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8617)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8607](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8607)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### preSign + +#### ▪ **preSign**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8641)* + +Approves a hash on-chain. +After presigning a hash, the preSign signature type will become valid for that hash and signer. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`hash`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8676)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32-byte hash. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`hash`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8733](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8733)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`hash` | string | - | Any 32-byte hash. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`hash`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8703](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8703)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32-byte hash. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8800](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8800)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8788](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8788)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`hash`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8777](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8777)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32-byte hash. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`hash`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8649](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8649)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32-byte hash. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`hash`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8722](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8722)* + +**Parameters:** + +Name | Type | +------ | ------ | +`hash` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### preSigned + +#### ▪ **preSigned**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8808](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8808)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8814](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8814)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`index_1` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8893](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8893)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8881](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8881)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8866](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8866)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | +`index_1` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### protocolFeeCollector + +#### ▪ **protocolFeeCollector**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8901](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8901)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8907](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8907)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8971](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8971)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8959](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8959)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8949](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8949)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### protocolFeeMultiplier + +#### ▪ **protocolFeeMultiplier**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8979](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8979)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:8985](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L8985)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9049](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9049)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9037](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9037)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9027](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9027)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### registerAssetProxy + +#### ▪ **registerAssetProxy**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9061](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9061)* + +Registers an asset proxy to its asset proxy id. +Once an asset proxy is registered, it cannot be unregistered. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`assetProxy`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9096](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9096)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetProxy` | string | Address of new asset proxy to register. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`assetProxy`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9156](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9156)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetProxy` | string | - | Address of new asset proxy to register. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9123)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetProxy` | string | Address of new asset proxy to register. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9229)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9217)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetProxy`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9204)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetProxy` | string | Address of new asset proxy to register. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9069](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9069)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetProxy` | string | Address of new asset proxy to register. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`assetProxy`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9142](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9142)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetProxy` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### setProtocolFeeCollectorAddress + +#### ▪ **setProtocolFeeCollectorAddress**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9240](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9240)* + +Allows the owner to update the protocolFeeCollector address. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`updatedProtocolFeeCollector`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9282](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9282)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeCollector` | string | The updated protocolFeeCollector contract address. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`updatedProtocolFeeCollector`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9355)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`updatedProtocolFeeCollector` | string | - | The updated protocolFeeCollector contract address. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`updatedProtocolFeeCollector`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9313](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9313)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeCollector` | string | The updated protocolFeeCollector contract address. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9431)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9419)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`updatedProtocolFeeCollector`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9406](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9406)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeCollector` | string | The updated protocolFeeCollector contract address. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`updatedProtocolFeeCollector`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9249](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9249)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeCollector` | string | The updated protocolFeeCollector contract address. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`updatedProtocolFeeCollector`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9337](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9337)* + +**Parameters:** + +Name | Type | +------ | ------ | +`updatedProtocolFeeCollector` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### setProtocolFeeMultiplier + +#### ▪ **setProtocolFeeMultiplier**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9442)* + +Allows the owner to update the protocol fee multiplier. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9482](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9482)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | The updated protocol fee multiplier. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9553](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9553)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | - | The updated protocol fee multiplier. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9512](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9512)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | The updated protocol fee multiplier. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9628)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9616](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9616)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`updatedProtocolFeeMultiplier`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9603](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9603)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | The updated protocol fee multiplier. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9450](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9450)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | The updated protocol fee multiplier. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`updatedProtocolFeeMultiplier`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9536](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9536)* + +**Parameters:** + +Name | Type | +------ | ------ | +`updatedProtocolFeeMultiplier` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### setSignatureValidatorApproval + +#### ▪ **setSignatureValidatorApproval**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9640](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9640)* + +Approves/unnapproves a Validator contract to verify signatures on signer's behalf +using the `Validator` signature type. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9685](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9685)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`validatorAddress` | string | Address of Validator contract. | +`approval` | boolean | Approval or disapproval of Validator contract. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`validatorAddress`: string, `approval`: boolean, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9766](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9766)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`validatorAddress` | string | - | Address of Validator contract. | +`approval` | boolean | - | Approval or disapproval of Validator contract. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9719](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9719)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`validatorAddress` | string | Address of Validator contract. | +`approval` | boolean | Approval or disapproval of Validator contract. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9847](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9847)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, boolean]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9835](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9835)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, boolean]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`validatorAddress`: string, `approval`: boolean): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9820](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9820)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`validatorAddress` | string | Address of Validator contract. | +`approval` | boolean | Approval or disapproval of Validator contract. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9649](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9649)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`validatorAddress` | string | Address of Validator contract. | +`approval` | boolean | Approval or disapproval of Validator contract. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`validatorAddress`: string, `approval`: boolean, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9746](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9746)* + +**Parameters:** + +Name | Type | +------ | ------ | +`validatorAddress` | string | +`approval` | boolean | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### simulateDispatchTransferFromCalls + +#### ▪ **simulateDispatchTransferFromCalls**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9858](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9858)* + +This function may be used to simulate any amount of transfers As they would occur through the Exchange contract. Note that this function will always revert, even if all transfers are successful. However, it may be used with eth_call or with a try/catch pattern in order to simulate the results of the transfers. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9919](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9919)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | Array containing the amounts that correspond to each transfer. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10033](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10033)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string[] | - | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | - | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | - | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | - | Array containing the amounts that correspond to each transfer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +This function does not return a value. However, it will always revert with `Error("TRANSFERS_SUCCESSFUL")` if all of the transfers were successful. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9965](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9965)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | Array containing the amounts that correspond to each transfer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10135)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string[], string[], string[], `BigNumber`[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10121)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string[], string[], string[], `BigNumber`[]]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10099](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10099)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | Array containing the amounts that correspond to each transfer. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9873](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9873)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string[] | Array of asset details, each encoded per the AssetProxy contract specification. | +`fromAddresses` | string[] | Array containing the `from` addresses that correspond with each transfer. | +`toAddresses` | string[] | Array containing the `to` addresses that correspond with each transfer. | +`amounts` | `BigNumber`[] | Array containing the amounts that correspond to each transfer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`assetData`: string[], `fromAddresses`: string[], `toAddresses`: string[], `amounts`: `BigNumber`[], `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:9996](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L9996)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetData` | string[] | +`fromAddresses` | string[] | +`toAddresses` | string[] | +`amounts` | `BigNumber`[] | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transactionsExecuted + +#### ▪ **transactionsExecuted**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10145](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10145)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10151](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10151)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10221](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10221)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10209)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10198](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10198)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### transferOwnership + +#### ▪ **transferOwnership**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10229)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10262](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10262)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10317](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10317)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`newOwner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10288](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10288)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10385](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10385)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10373](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10373)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10360)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10236](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10236)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:10307](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L10307)* + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ForwarderContract + + +## Constructors + + + +\+ **new ForwarderContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ForwarderContract](#class-forwardercontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1880](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1880)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ForwarderContract.deployedBytecode | + +**Returns:** *[ForwarderContract](#class-forwardercontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x6080604052600436106100655760003560e01c8063942d33c011610043578063942d33c014610102578063ae93b97a14610124578063f2fde38b1461013757610065565b8063442026ed14610097578063630f1e6c146100b75780638da5cb5b146100d7575b60025473ffffffffffffffffffffffffffffffffffffffff1633146100955761009561009033610157565b6101f6565b005b3480156100a357600080fd5b506100956100b2366004611bc6565b6101fe565b3480156100c357600080fd5b506100956100d2366004611c06565b6104a8565b3480156100e357600080fd5b506100ec6104f1565b6040516100f99190611dc0565b60405180910390f35b610115610110366004611b1d565b61050d565b6040516100f993929190612047565b610115610132366004611aa0565b610542565b34801561014357600080fd5b50610095610152366004611a68565b61059d565b60606308b1869860e01b826040516024016101729190611dc0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600061024a600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff610614169050565b905060405161025890611d97565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156104a35760015460405160009173ffffffffffffffffffffffffffffffffffffffff16906360704108906102d490611d97565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16825261031291600401611e5f565b60206040518083038186803b15801561032a57600080fd5b505afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103629190810190611a84565b905073ffffffffffffffffffffffffffffffffffffffff811661038a5761038a61009061066a565b60006103d6601086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff6106c4169050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b39061044d9085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401611de1565b602060405180830381600087803b15801561046757600080fd5b505af115801561047b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061049f9190810190611ba6565b5050505b505050565b6104b0610704565b6104a383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525085925061074d915050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061051a610838565b6105258888886108cd565b90935091506105358386866109f0565b9050955095509592505050565b600080600061054f610838565b6000610573670de0b6b3a764000061056d888263ffffffff610b8f16565b34610bb2565b9050610580888289610bdc565b90945092506105908487876109f0565b9150509450945094915050565b6105a5610704565b73ffffffffffffffffffffffffffffffffffffffff81166105d0576105cb610090610d9f565b610611565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b50565b60008160040183511015610635576106356100906003855185600401610dd6565b5060208183018101519101907fffffffff00000000000000000000000000000000000000000000000000000000165b92915050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff3b96b8d0000000000000000000000000000000000000000000000000000000017905290565b600081601401835110156106e5576106e56100906004855185601401610dd6565b50016014015173ffffffffffffffffffffffffffffffffffffffff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461074b5760005461074b9061009090339073ffffffffffffffffffffffffffffffffffffffff16610e7b565b565b600061075f838263ffffffff61061416565b905060405161076d90611d97565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156107c9576107c48383610f1d565b6104a3565b6040516107d590611d45565b60405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561082c576107c48383611085565b6104a361009082611152565b346108485761084861009061116d565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108b257600080fd5b505af11580156108c6573d6000803e3d6000fd5b5050505050565b82516000908190815b8181146109d1578681815181106108e957fe5b6020026020010151608001516000148061091a575086818151811061090a57fe5b602002602001015160a001516000145b15610924576109c9565b6000610936878563ffffffff6111c716565b905060008061096c8a858151811061094a57fe5b602002602001015189868151811061095e57fe5b6020026020010151856111e6565b915091506109928a858151811061097f57fe5b602002602001015161014001518261074d565b6109a2878363ffffffff610b8f16565b96506109b4868263ffffffff610b8f16565b95508886106109c5575050506109d1565b5050505b6001016108d6565b50848210156109e7576109e76100908684611339565b50935093915050565b600066b1a2bc2ec50000831115610a0d57610a0d61009084611356565b34841115610a2257610a226100908534611371565b6000610a34348663ffffffff6111c716565b9050610a4984670de0b6b3a764000087610bb2565b915080821115610a6057610a60610090838361138e565b8015610b87576002546040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90610abc908490600401612030565b600060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506000821115610b3c5760405173ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610b3a573d6000803e3d6000fd5b505b6000610b4e828463ffffffff6111c716565b90508015610b8557604051339082156108fc029083906000818181858888f19350505050158015610b83573d6000803e3d6000fd5b505b505b509392505050565b600082820183811015610bab57610bab610090600086866113ab565b9392505050565b6000610bd483610bc8868563ffffffff6113ca16565b9063ffffffff6113fb16565b949350505050565b6000806000855190506000610c97600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ce4c78b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5257600080fd5b505afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c8a9190810190611cad565b3a9063ffffffff6113ca16565b905060005b828114610d9457878181518110610caf57fe5b60200260200101516080015160001480610ce05750878181518110610cd057fe5b602002602001015160a001516000145b15610cea57610d8c565b6000610d0c83610d008a8963ffffffff6111c716565b9063ffffffff6111c716565b9050600080610d428b8581518110610d2057fe5b60200260200101518a8681518110610d3457fe5b602002602001015185611425565b91509150610d558b858151811061097f57fe5b610d65888363ffffffff610b8f16565b9750610d77878263ffffffff610b8f16565b9650898810610d8857505050610d94565b5050505b600101610c9c565b505050935093915050565b60408051808201909152600481527fe69edc3e00000000000000000000000000000000000000000000000000000000602082015290565b6060632800659560e01b848484604051602401610df593929190611ec1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6060631de45ad160e01b8383604051602401610e98929190611e07565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b6000610f3083601063ffffffff6106c416565b9050600060608273ffffffffffffffffffffffffffffffffffffffff16604051610f5990611d6e565b60405180910390203386604051602401610f74929190611de1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ffd9190611d29565b6000604051808303816000865af19150503d806000811461103a576040519150601f19603f3d011682016040523d82523d6000602084013e61103f565b606091505b50915091508161105557611055610090826114ea565b3d15611074576000915060203d14156110745760206000803e60005191505b816108c6576108c6610090826114ea565b806001146110995761109961009082611505565b60006110ac83601063ffffffff6106c416565b905060006110c184602463ffffffff61152016565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906323b872dd9061111a90309033908690600401611e2e565b600060405180830381600087803b15801561113457600080fd5b505af1158015611148573d6000803e3d6000fd5b5050505050505050565b6060637996a27160e01b826040516024016101729190611e5f565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8c0e562b0000000000000000000000000000000000000000000000000000000017905290565b6000828211156111e0576111e0610090600285856113ab565b50900390565b6000808460e001516000148061121257506101608501516101a08601516112129163ffffffff61152c16565b1561128057600061122c8660a00151876080015186611552565b905061123661172e565b61124187838861157c565b9050611272816080015161126683606001518460200151610b8f90919063ffffffff16565b9063ffffffff610b8f16565b905190935091506113319050565b6101408501516101a086015161129b9163ffffffff61152c16565b156113205760006112cb8660a001516112c58860e0015189608001516111c790919063ffffffff16565b86611552565b90506112d561172e565b6112e087838861157c565b90506112fd81608001518260200151610b8f90919063ffffffff16565b60608201518251919550611317919063ffffffff6111c716565b92505050611331565b611331610090866101a001516116e9565b935093915050565b60606391353a0c60e01b8383604051602401610e98929190612039565b6060631174fb8060e01b826040516024016101729190612030565b606063cdcbed5d60e01b8383604051602401610e98929190612039565b606063ecf40fd960e01b8383604051602401610e98929190612039565b606063e946c1bb60e01b848484604051602401610df593929190611e9f565b6000826113d957506000610664565b828202828482816113e657fe5b0414610bab57610bab610090600186866113ab565b60008161141157611411610090600385856113ab565b600082848161141c57fe5b04949350505050565b6000808460e001516000148061145157506101408501516101a08601516114519163ffffffff61152c16565b156114a85761145e61172e565b61146986858761157c565b905061148681608001518260200151610b8f90919063ffffffff16565b606082015182519194506114a0919063ffffffff6111c716565b915050611331565b6101608501516101a08601516114c39163ffffffff61152c16565b156113205760a085015160e086015160009161122c916112c590829063ffffffff610b8f16565b6060635e7eb60f60e01b826040516024016101729190611e8c565b606063baffa47460e01b826040516024016101729190612030565b6000610bab8383611704565b600081518351148015610bab575081805190602001208380519060200120149392505050565b6000610bd483610bc861156c82600163ffffffff6111c716565b611266888763ffffffff6113ca16565b61158461172e565b6040516060907f9b44d55600000000000000000000000000000000000000000000000000000000906115be90879087908790602401611ecf565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252600154915190925073ffffffffffffffffffffffffffffffffffffffff90911690600090606090839061166f908690611d29565b6000604051808303816000865af19150503d80600081146116ac576040519150601f19603f3d011682016040523d82523d6000602084013e6116b1565b606091505b509150915081156116de57805160a0146116c757fe5b808060200190516116db9190810190611c50565b94505b505050509392505050565b60606331360af160e01b826040516024016101729190611e8c565b60008160200183511015611725576117256100906005855185602001610dd6565b50016020015190565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8035610664816120d4565b600082601f830112611778578081fd5b813561178b61178682612084565b61205d565b8181529150602080830190840160005b838110156117c8576117b387602084358901016119e1565b8352602092830192919091019060010161179b565b5050505092915050565b600082601f8301126117e2578081fd5b81356117f061178682612084565b818152915060208083019084810160005b8481101561198f57813587016101c0807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c0301121561184157600080fd5b61184a8161205d565b6118568b87850161175d565b81526118658b6040850161175d565b868201526118768b6060850161175d565b60408201526118888b6080850161175d565b606082015260a0830135608082015260c083013560a082015260e083013560c08201526101008084013560e0830152610120808501358284015261014091508185013581840152506101608085013567ffffffffffffffff808211156118ed57600080fd5b6118fb8f8b848a01016119e1565b8486015261018093508387013591508082111561191757600080fd5b6119258f8b848a01016119e1565b838601526101a092508287013591508082111561194157600080fd5b61194f8f8b848a01016119e1565b848601528587013593508084111561196657600080fd5b50506119768d89848801016119e1565b9083015250865250509282019290820190600101611801565b505050505092915050565b60008083601f8401126119ab578182fd5b50813567ffffffffffffffff8111156119c2578182fd5b6020830191508360208285010111156119da57600080fd5b9250929050565b600082601f8301126119f1578081fd5b813567ffffffffffffffff811115611a07578182fd5b611a3860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161205d565b9150808252836020828501011115611a4f57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611a79578081fd5b8135610bab816120d4565b600060208284031215611a95578081fd5b8151610bab816120d4565b60008060008060808587031215611ab5578283fd5b843567ffffffffffffffff80821115611acc578485fd5b611ad8888389016117d2565b95506020870135915080821115611aed578485fd5b50611afa87828801611768565b935050604085013591506060850135611b12816120d4565b939692955090935050565b600080600080600060a08688031215611b34578081fd5b853567ffffffffffffffff80821115611b4b578283fd5b611b5789838a016117d2565b9650602088013595506040880135915080821115611b73578283fd5b50611b8088828901611768565b935050606086013591506080860135611b98816120d4565b809150509295509295909350565b600060208284031215611bb7578081fd5b81518015158114610bab578182fd5b60008060208385031215611bd8578182fd5b823567ffffffffffffffff811115611bee578283fd5b611bfa8582860161199a565b90969095509350505050565b600080600060408486031215611c1a578283fd5b833567ffffffffffffffff811115611c30578384fd5b611c3c8682870161199a565b909790965060209590950135949350505050565b600060a0828403128015611c62578182fd5b8015611c6c578182fd5b50611c7760a061205d565b82518152602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b600060208284031215611cbe578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452611cf78160208601602086016120a4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251611d3b8184602087016120a4565b9190910192915050565b7f455243373231546f6b656e28616464726573732c75696e7432353629000000008152601c0190565b7f7472616e7366657228616464726573732c75696e743235362900000000000000815260190190565b7f4552433230546f6b656e28616464726573732900000000000000000000000000815260130190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610bab6020830184611cdf565b6060810160048510611ead57fe5b938152602081019290925260409091015290565b6060810160088510611ead57fe5b600060608252611ee3606083018651611cc5565b6020850151611ef56080840182611cc5565b506040850151611f0860a0840182611cc5565b506060850151611f1b60c0840182611cc5565b50608085015160e083015260a0850151610100818185015260c08701519150610120828186015260e0880151925061014083818701528289015193506101609250838387015281890151935061018091508382870152808901519350506101c06101a08181880152611f91610220880186611cdf565b848b015195507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09450848882030183890152611fcd8187611cdf565b925050828a0151945083878303016101e0880152611feb8286611cdf565b9250808a015194505050818582030161020086015261200a8184611cdf565b91505085602085015283810360408501526120258186611cdf565b979650505050505050565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561207c57600080fd5b604052919050565b600067ffffffffffffffff82111561209a578081fd5b5060209081020190565b60005b838110156120bf5781810151838201526020016120a7565b838111156120ce576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461061157600080fdfea365627a7a72315820afeb88c9cc19090963cb885eb76d709ca1a151f8f73996031898e2b50578a89b6c6578706572696d656e74616cf564736f6c634300050c0040" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L31)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1595](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1595)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_wethAssetData`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1547](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1547)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | +`_wethAssetData` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_wethAssetData`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1512](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1512)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | +`_wethAssetData` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### approveMakerAssetProxy + +#### ▪ **approveMakerAssetProxy**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L40)* + +Approves the respective proxy for a given asset to transfer tokens on the Forwarder contract's behalf. +This is necessary because an order fee denominated in the maker asset (i.e. a percentage fee) is sent by the +Forwarder contract to the fee recipient. +This method needs to be called before forwarding orders of a maker asset that hasn't +previously been approved. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`assetData`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L75)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded for the respective asset proxy. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L135)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | Byte array encoded for the respective asset proxy. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`assetData`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L102)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded for the respective asset proxy. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:202](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L202)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:190](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L190)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L179)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded for the respective asset proxy. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`assetData`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L48)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded for the respective asset proxy. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`assetData`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L121)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetData` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### marketBuyOrdersWithEth + +#### ▪ **marketBuyOrdersWithEth**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L216)* + +Attempt to buy makerAssetBuyAmount of makerAsset by selling ETH provided with transaction. +The Forwarder may *fill* more than makerAssetBuyAmount of the makerAsset so that it can +pay takerFees where takerFeeAssetData == makerAssetData (i.e. percentage fees). +Any ETH not spent will be refunded to sender. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `makerAssetBuyAmount`: `BigNumber`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:292](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L292)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`makerAssetBuyAmount` | `BigNumber` | Desired amount of makerAsset to purchase. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | Address that will receive ETH when orders are filled. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `makerAssetBuyAmount`: `BigNumber`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber, BigNumber, BigNumber]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:457](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L457)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`makerAssetBuyAmount` | `BigNumber` | - | Desired amount of makerAsset to purchase. | +`signatures` | string[] | - | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | - | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | - | Address that will receive ETH when orders are filled. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[BigNumber, BigNumber, BigNumber]>`* + +wethSpentAmount Amount of WETH spent on the given set of orders.makerAssetAcquiredAmount Amount of maker asset acquired from the given set of orders.ethFeePaid Amount of ETH spent on the given forwarder fee. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `makerAssetBuyAmount`: `BigNumber`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L355)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`makerAssetBuyAmount` | `BigNumber` | Desired amount of makerAsset to purchase. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | Address that will receive ETH when orders are filled. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`, `BigNumber`, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:638](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L638)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[`BigNumber`, `BigNumber`, `BigNumber`]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, `BigNumber`, string[], `BigNumber`, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:578](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L578)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`Array`, `BigNumber`, string[], `BigNumber`, string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `makerAssetBuyAmount`: `BigNumber`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:539](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L539)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`makerAssetBuyAmount` | `BigNumber` | Desired amount of makerAsset to purchase. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | Address that will receive ETH when orders are filled. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `makerAssetBuyAmount`: `BigNumber`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:230](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L230)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`makerAssetBuyAmount` | `BigNumber` | Desired amount of makerAsset to purchase. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | Address that will receive ETH when orders are filled. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `makerAssetBuyAmount`: `BigNumber`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:403](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L403)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`makerAssetBuyAmount` | `BigNumber` | +`signatures` | string[] | +`feePercentage` | `BigNumber` | +`feeRecipient` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### marketSellOrdersWithEth + +#### ▪ **marketSellOrdersWithEth**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:654](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L654)* + +Purchases as much of orders' makerAssets as possible by selling as much of the ETH value sent +as possible, accounting for order and forwarder fees. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`orders`: `Array`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:726](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L726)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | Address that will receive ETH when orders are filled. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber, BigNumber, BigNumber]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:881](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L881)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `Array` | - | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`signatures` | string[] | - | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | - | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | - | Address that will receive ETH when orders are filled. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise<[BigNumber, BigNumber, BigNumber]>`* + +wethSpentAmount Amount of WETH spent on the given set of orders.makerAssetAcquiredAmount Amount of maker asset acquired from the given set of orders.ethFeePaid Amount of ETH spent on the given forwarder fee. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`orders`: `Array`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:785](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L785)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | Address that will receive ETH when orders are filled. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`, `BigNumber`, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1055](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1055)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[`BigNumber`, `BigNumber`, `BigNumber`]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, string[], `BigNumber`, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:997](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L997)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`Array`, string[], `BigNumber`, string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:960](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L960)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | Address that will receive ETH when orders are filled. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`orders`: `Array`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:667](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L667)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `Array` | Array of order specifications used containing desired makerAsset and WETH as takerAsset. | +`signatures` | string[] | Proofs that orders have been created by makers. | +`feePercentage` | `BigNumber` | Percentage of WETH sold that will payed as fee to forwarding contract feeRecipient. | +`feeRecipient` | string | Address that will receive ETH when orders are filled. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`orders`: `Array`, `signatures`: string[], `feePercentage`: `BigNumber`, `feeRecipient`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:831](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L831)* + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`signatures` | string[] | +`feePercentage` | `BigNumber` | +`feeRecipient` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### owner + +#### ▪ **owner**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1067](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1067)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1073](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1073)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1137)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1125](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1125)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1115](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1115)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### transferOwnership + +#### ▪ **transferOwnership**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1145](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1145)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`newOwner`: string, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1178](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1178)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`newOwner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1233](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1233)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`newOwner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1204)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1301](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1301)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1289)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`newOwner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1276](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1276)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1152](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1152)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOwner` | string | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`newOwner`: string, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1223](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1223)* + +**Parameters:** + +Name | Type | +------ | ------ | +`newOwner` | string | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### withdrawAsset + +#### ▪ **withdrawAsset**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1314](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1314)* + +Withdraws assets from this contract. The contract formerly required a ZRX balance in order +to function optimally, and this function allows the ZRX to be withdrawn by owner. +It may also be used to withdraw assets that were accidentally sent to this contract. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`assetData`: string, `amount`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1356](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1356)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded for the respective asset proxy. | +`amount` | `BigNumber` | Amount of ERC20 token to withdraw. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`assetData`: string, `amount`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1426](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1426)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`assetData` | string | - | Byte array encoded for the respective asset proxy. | +`amount` | `BigNumber` | - | Amount of ERC20 token to withdraw. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`assetData`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1386](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1386)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded for the respective asset proxy. | +`amount` | `BigNumber` | Amount of ERC20 token to withdraw. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1504](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1504)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1492](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1492)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, `BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`assetData`: string, `amount`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1477](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1477)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded for the respective asset proxy. | +`amount` | `BigNumber` | Amount of ERC20 token to withdraw. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`assetData`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1323](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1323)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | Byte array encoded for the respective asset proxy. | +`amount` | `BigNumber` | Amount of ERC20 token to withdraw. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`assetData`: string, `amount`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/forwarder.ts:1410](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/forwarder.ts#L1410)* + +**Parameters:** + +Name | Type | +------ | ------ | +`assetData` | string | +`amount` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: IValidatorContract + + +## Constructors + + + +\+ **new IValidatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[IValidatorContract](#class-ivalidatorcontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L238)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | IValidatorContract.deployedBytecode | + +**Returns:** *[IValidatorContract](#class-ivalidatorcontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string | undefined* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L31)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:207](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L207)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:165](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L165)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:140](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L140)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### isValidSignature + +#### ▪ **isValidSignature**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L35)* + +Verifies that a signature is valid. + +#### callAsync + +▸ **callAsync**(`hash`: string, `signerAddress`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L45)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`hash` | string | - | Message hash that is signed. | +`signerAddress` | string | - | Address that should have signed the given hash. | +`signature` | string | - | Proof of signing. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Magic bytes4 value if the signature is valid. Magic value is bytes4(keccak256("isValidValidatorSignature(address,bytes32,address,bytes)")) + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L132)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L120)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`hash`: string, `signerAddress`: string, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_validator.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_validator.ts#L103)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Message hash that is signed. | +`signerAddress` | string | Address that should have signed the given hash. | +`signature` | string | Proof of signing. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +
+ +# Class: IWalletContract + + +## Constructors + + + +\+ **new IWalletContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[IWalletContract](#class-iwalletcontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L224)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | IWalletContract.deployedBytecode | + +**Returns:** *[IWalletContract](#class-iwalletcontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string | undefined* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L31)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L197)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:155](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L155)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L130)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### isValidSignature + +#### ▪ **isValidSignature**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L35)* + +Validates a hash with the `Wallet` signature type. + +#### callAsync + +▸ **callAsync**(`hash`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L44)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`hash` | string | - | Message hash that is signed. | +`signature` | string | - | Proof of signing. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +magicValue `bytes4(0xb0671381)` if the signature check succeeds. + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L122)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:110](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L110)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`hash`: string, `signature`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/i_wallet.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/i_wallet.ts#L95)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Message hash that is signed. | +`signature` | string | Proof of signing. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +
+ +# Class: OrderValidatorContract + + +## Constructors + + + +\+ **new OrderValidatorContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[OrderValidatorContract](#class-ordervalidatorcontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1787](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1787)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | OrderValidatorContract.deployedBytecode | + +**Returns:** *[OrderValidatorContract](#class-ordervalidatorcontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string | undefined* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L31)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1226](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1226)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_zrxAssetData`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1178](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1178)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | +`_zrxAssetData` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object, `_exchange`: string, `_zrxAssetData`: string): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1143](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1143)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | +`_exchange` | string | +`_zrxAssetData` | string | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### getBalanceAndAllowance + +#### ▪ **getBalanceAndAllowance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:250](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L250)* + +#### callAsync + +▸ **callAsync**(`target`: string, `assetData`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber, BigNumber]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:256](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L256)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`target` | string | - | +`assetData` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise<[BigNumber, BigNumber]>`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`, `BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L335)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[`BigNumber`, `BigNumber`]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:323](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L323)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string, `assetData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:308](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L308)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`assetData` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getBalancesAndAllowances + +#### ▪ **getBalancesAndAllowances**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:858](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L858)* + +#### callAsync + +▸ **callAsync**(`target`: string, `assetData`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[BigNumber[], BigNumber[]]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:864](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L864)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`target` | string | - | +`assetData` | string[] | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise<[BigNumber[], BigNumber[]]>`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[`BigNumber`[], `BigNumber`[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:943](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L943)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[`BigNumber`[], `BigNumber`[]]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[string, string[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:931](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L931)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[string, string[]]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`target`: string, `assetData`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:916](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L916)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | string | +`assetData` | string[] | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getERC721TokenOwner + +#### ▪ **getERC721TokenOwner**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:765](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L765)* + +#### callAsync + +▸ **callAsync**(`token`: string, `tokenId`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:771](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L771)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`token` | string | - | +`tokenId` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:850](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L850)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:838](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L838)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`token`: string, `tokenId`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:823](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L823)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`token` | string | +`tokenId` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getOrderAndTraderInfo + +#### ▪ **getOrderAndTraderInfo**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L32)* + +#### callAsync + +▸ **callAsync**(`order`: object, `takerAddress`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[object, object]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L38)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`order` | object | - | +`takerAddress` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise<[object, object]>`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[object, object]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L212)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[object, object]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[object, string]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:162](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L162)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[object, string]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object, `takerAddress`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L132)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`order` | object | +`takerAddress` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getOrdersAndTradersInfo + +#### ▪ **getOrdersAndTradersInfo**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L343)* + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `takerAddresses`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise<[Array, Array]>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L349)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`orders` | `Array` | - | +`takerAddresses` | string[] | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise<[Array, Array]>`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *[`Array`, `Array`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:525](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L525)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *[`Array`, `Array`]* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`Array`, string[]]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L475)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`Array`, string[]]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAddresses`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:444](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L444)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAddresses` | string[] | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getTraderInfo + +#### ▪ **getTraderInfo**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:951](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L951)* + +#### callAsync + +▸ **callAsync**(`order`: object, `takerAddress`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:957](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L957)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`order` | object | - | +`takerAddress` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1113](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1113)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *object* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1071](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1071)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *object* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`order`: object, `takerAddress`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:1041](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L1041)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`order` | object | +`takerAddress` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### getTradersInfo + +#### ▪ **getTradersInfo**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:563](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L563)* + +#### callAsync + +▸ **callAsync**(`orders`: `Array`, `takerAddresses`: string[], `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:569](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L569)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`orders` | `Array` | - | +`takerAddresses` | string[] | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise>`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:733](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L733)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`Array`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *`Array`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L689)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *`Array`* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`orders`: `Array`, `takerAddresses`: string[]): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/order_validator.ts:658](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/order_validator.ts#L658)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`orders` | `Array` | +`takerAddresses` | string[] | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +
+ +# Class: WETH9Contract + + +## Constructors + + + +\+ **new WETH9Contract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[WETH9Contract](#class-weth9contract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1877](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1877)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | WETH9Contract.deployedBytecode | + +**Returns:** *[WETH9Contract](#class-weth9contract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x6080604052600436106100925760003560e01c63ffffffff16806306fdde031461009c578063095ea7b31461012657806318160ddd1461016b57806323b872dd146101925780632e1a7d4d146101c9578063313ce567146101e157806370a082311461020c57806395d89b411461023a578063a9059cbb1461024f578063d0e30db014610092578063dd62ed3e14610280575b61009a6102b4565b005b3480156100a857600080fd5b506100b1610303565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100eb5781810151838201526020016100d3565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356103af565b604080519115158252519081900360200190f35b34801561017757600080fd5b50610180610422565b60408051918252519081900360200190f35b34801561019e57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610427565b3480156101d557600080fd5b5061009a6004356105c7565b3480156101ed57600080fd5b506101f661065c565b6040805160ff9092168252519081900360200190f35b34801561021857600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043516610665565b34801561024657600080fd5b506100b1610677565b34801561025b57600080fd5b5061015773ffffffffffffffffffffffffffffffffffffffff600435166024356106ef565b34801561028c57600080fd5b5061018073ffffffffffffffffffffffffffffffffffffffff60043581169060243516610703565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b820191906000526020600020905b81548152906001019060200180831161038a57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b303190565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081205482111561045957600080fd5b73ffffffffffffffffffffffffffffffffffffffff841633148015906104cf575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105495773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915290205482111561051157600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b336000908152600360205260409020548111156105e357600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f19350505050158015610622573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156103a75780601f1061037c576101008083540402835291602001916103a7565b60006106fc338484610427565b9392505050565b6004602090815260009283526040808420909152908252902054815600a165627a7a723058201ebe888a6b56dd871f599adbe0f19ec3c29c28aec0685788dfac9b37a99fc9d20029" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:67](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L67)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [WETH9Events](#enumeration-weth9events), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1861](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1861)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[WETH9EventArgs](#weth9eventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [WETH9Events](#enumeration-weth9events) | The WETH9 contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [WETH9Events](#enumeration-weth9events), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1819](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1819)* + +Subscribe to an event type emitted by the WETH9 contract. + +**Type parameters:** + +▪ **ArgsType**: *[WETH9EventArgs](#weth9eventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [WETH9Events](#enumeration-weth9events) | - | The WETH9 contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1844](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1844)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1850](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1850)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1522](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1522)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1480)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1455](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1455)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### allowance + +#### ▪ **allowance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1361)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `index_1`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1367](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1367)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`index_1` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1446](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1446)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1434)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string, `index_1`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1419)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | +`index_1` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### approve + +#### ▪ **approve**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:147](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L147)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L181)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`guy` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`guy`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:243](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L243)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`guy` | string | - | +`wad` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L209)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`guy` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:319](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L319)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:307](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L307)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`guy`: string, `wad`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:292](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L292)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`guy` | string | +`wad` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:154](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L154)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`guy` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`guy`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L229)* + +**Parameters:** + +Name | Type | +------ | ------ | +`guy` | string | +`wad` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### balanceOf + +#### ▪ **balanceOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:861](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L861)* + +#### callAsync + +▸ **callAsync**(`index_0`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:867](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L867)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`index_0` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:939](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L939)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:927](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L927)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`index_0`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:914](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L914)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`index_0` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decimals + +#### ▪ **decimals**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:783](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L783)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:789](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L789)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *number* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:853](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L853)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *number* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:841](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L841)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:831](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L831)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### deposit + +#### ▪ **deposit**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1205](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1205)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1237](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1237)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1289)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1261](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1261)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1353)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1341)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1331)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1212)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1279)* + +**Parameters:** + +Name | Type | +------ | ------ | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### name + +#### ▪ **name**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:69](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L69)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L75)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:139](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L139)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:127](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L127)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L117)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### symbol + +#### ▪ **symbol**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:947](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L947)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:953](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L953)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1017](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1017)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1005](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1005)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:995](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L995)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### totalSupply + +#### ▪ **totalSupply**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:327](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L327)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:333](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L333)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:397](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L397)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:385](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L385)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L375)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### transfer + +#### ▪ **transfer**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1025](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1025)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1059](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1059)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`dst`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1121)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`dst` | string | - | +`wad` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1087](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1087)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1197)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1185](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1185)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`dst`: string, `wad`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1170)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`dst` | string | +`wad` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1032](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1032)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:1107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L1107)* + +**Parameters:** + +Name | Type | +------ | ------ | +`dst` | string | +`wad` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferFrom + +#### ▪ **transferFrom**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:405](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L405)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L449)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`src` | string | - | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:529](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L529)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`src` | string | - | +`dst` | string | - | +`wad` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:484](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L484)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`src` | string | - | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:613](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L613)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:601](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L601)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`src`: string, `dst`: string, `wad`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:584](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L584)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`src` | string | +`dst` | string | +`wad` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:412](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L412)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`src` | string | - | +`dst` | string | - | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`src`: string, `dst`: string, `wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:514](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L514)* + +**Parameters:** + +Name | Type | +------ | ------ | +`src` | string | +`dst` | string | +`wad` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### withdraw + +#### ▪ **withdraw**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:621](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L621)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`wad`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:654](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L654)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`wad` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`wad`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:709](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L709)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`wad` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:680](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L680)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:775](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L775)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *void* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *[`BigNumber`]* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:763](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L763)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *[`BigNumber`]* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`wad`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:752](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L752)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`wad` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L628)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`wad` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`wad`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:699](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L699)* + +**Parameters:** + +Name | Type | +------ | ------ | +`wad` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ZRXTokenContract + + +## Constructors + + + +\+ **new ZRXTokenContract**(`address`: string, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object, `deployedBytecode`: string | undefined): *[ZRXTokenContract](#class-zrxtokencontract)* + +*Overrides void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1512](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1512)* + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`address` | string | - | +`supportedProvider` | [SupportedProvider](#supportedprovider) | - | +`txDefaults?` | `Partial` | - | +`logDecodeDependencies?` | undefined \| object | - | +`deployedBytecode` | string \| undefined | ZRXTokenContract.deployedBytecode | + +**Returns:** *[ZRXTokenContract](#class-zrxtokencontract)* + +## Properties + +#### abi + +• **abi**: *[ContractAbi](#contractabi)* + + + +Defined in base-contract/lib/src/index.d.ts:27 + +___ + +### address + +• **address**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:28 + +___ + +Args + +• **constructorArgs**: *any[]* + + + +Defined in base-contract/lib/src/index.d.ts:30 + +___ + +### contractName + +• **contractName**: *string* + + + +Defined in base-contract/lib/src/index.d.ts:29 + +___ + +### `Static` deployedBytecode + +▪ **deployedBytecode**: *string* = "0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a72305820d984298155c708a8164f1cbf83c7275bcc6851dd082c0404013c1f4463b238fa0029" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L51)* + +## Methods + +### evmExecAsync + +▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* + + + +Defined in base-contract/lib/src/index.d.ts:42 + +**Parameters:** + +Name | Type | +------ | ------ | +`input` | `Buffer` | + +**Returns:** *`Promise`* + +___ + +### getLogsAsync + +▸ **getLogsAsync**<**ArgsType**>(`eventName`: [ZRXTokenEvents](#enumeration-zrxtokenevents), `blockRange`: `BlockRange`, `indexFilterValues`: `IndexedFilterValues`): *`Promise>>`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1496](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1496)* + +Gets historical logs without creating a subscription + +**Type parameters:** + +▪ **ArgsType**: *[ZRXTokenEventArgs](#zrxtokeneventargs)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`eventName` | [ZRXTokenEvents](#enumeration-zrxtokenevents) | The ZRXToken contract event you would like to subscribe to. | +`blockRange` | `BlockRange` | Block range to get logs from. | +`indexFilterValues` | `IndexedFilterValues` | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{_from: aUserAddressHex}` | + +**Returns:** *`Promise>>`* + +Array of logs that match the parameters + +___ + +### subscribe + +▸ **subscribe**<**ArgsType**>(`eventName`: [ZRXTokenEvents](#enumeration-zrxtokenevents), `indexFilterValues`: `IndexedFilterValues`, `callback`: [EventCallback](#eventcallback)‹*`ArgsType`*›, `isVerbose`: boolean, `blockPollingIntervalMs?`: undefined | number): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1454](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1454)* + +Subscribe to an event type emitted by the ZRXToken contract. + +**Type parameters:** + +▪ **ArgsType**: *[ZRXTokenEventArgs](#zrxtokeneventargs)* + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`eventName` | [ZRXTokenEvents](#enumeration-zrxtokenevents) | - | The ZRXToken contract event you would like to subscribe to. | +`indexFilterValues` | `IndexedFilterValues` | - | An object where the keys are indexed args returned by the event and the value is the value you are interested in. E.g `{maker: aUserAddressHex}` | +`callback` | [EventCallback](#eventcallback)‹*`ArgsType`*› | - | Callback that gets called when a log is added/removed | +`isVerbose` | boolean | false | Enable verbose subscription warnings (e.g recoverable network issues encountered) | +`blockPollingIntervalMs?` | undefined \| number | - | - | + +**Returns:** *string* + +Subscription token used later to unsubscribe + +___ + +### unsubscribe + +▸ **unsubscribe**(`subscriptionToken`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1479)* + +Cancel a subscription + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`subscriptionToken` | string | Subscription token returned by `subscribe()` | + +**Returns:** *void* + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1485](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1485)* + +Cancels all existing subscriptions + +**Returns:** *void* + +___ + +### `Static` ABI + +▸ **ABI**(): *[ContractAbi](#contractabi)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1226](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1226)* + +**Returns:** *[ContractAbi](#contractabi)* + +The contract ABI + +___ + +### `Static` deployAsync + +▸ **deployAsync**(`bytecode`: string, `abi`: [ContractAbi](#contractabi), `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1184)* + +**Parameters:** + +Name | Type | +------ | ------ | +`bytecode` | string | +`abi` | [ContractAbi](#contractabi) | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` deployFrom0xArtifactAsync + +▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1159)* + +**Parameters:** + +Name | Type | +------ | ------ | +`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | +`supportedProvider` | [SupportedProvider](#supportedprovider) | +`txDefaults` | `Partial` | +`logDecodeDependencies` | object | + +**Returns:** *`Promise`* + +___ + +### `Static` strictArgumentEncodingCheck + +▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* + + + +Defined in base-contract/lib/src/index.d.ts:41 + +**Parameters:** + +Name | Type | +------ | ------ | +`inputAbi` | `DataItem`[] | +`args` | any[] | + +**Returns:** *string* + +## Object literals + +### allowance + +#### ▪ **allowance**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1065](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1065)* + +#### callAsync + +▸ **callAsync**(`_owner`: string, `_spender`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1071](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1071)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`_owner` | string | - | +`_spender` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1150](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1150)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1138](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1138)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string, `_spender`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1123)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`_owner` | string | +`_spender` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### approve + +#### ▪ **approve**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L131)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:172](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L172)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | - | +`_value` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_spender`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:241](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L241)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`_spender` | string | - | +`_value` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:200](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L200)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | - | +`_value` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:320](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L320)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:308](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L308)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_spender`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:293](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L293)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`_spender` | string | +`_value` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:138](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L138)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_spender` | string | - | +`_value` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_spender`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:227](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L227)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_spender` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### balanceOf + +#### ▪ **balanceOf**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:719](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L719)* + +#### callAsync + +▸ **callAsync**(`_owner`: string, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:725](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L725)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`_owner` | string | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:795](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L795)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:783](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L783)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_owner`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:772](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L772)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`_owner` | string | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### decimals + +#### ▪ **decimals**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L641)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:647](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L647)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *number* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:711](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L711)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *number* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:699](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L699)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L689)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### name + +#### ▪ **name**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L53)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L59)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L123)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L111)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:101](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L101)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### symbol + +#### ▪ **symbol**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:803](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L803)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:809](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L809)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:873](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L873)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *string* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:861](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L861)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:851](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L851)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### totalSupply + +#### ▪ **totalSupply**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L328)* + +#### callAsync + +▸ **callAsync**(`callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:334](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L334)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L398)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *`BigNumber`* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *void* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:386](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L386)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *void* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:376](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L376)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Returns:** *string* + +The ABI encoded transaction data as a string + +___ + +### transfer + +#### ▪ **transfer**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:881](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L881)* + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:919](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L919)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | - | +`_value` | `BigNumber` | - | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:981](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L981)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | +------ | ------ | ------ | +`_to` | string | - | +`_value` | `BigNumber` | - | +`callData` | `Partial` | {} | +`defaultBlock?` | [BlockParam](#blockparam) | - | + +**Returns:** *`Promise`* + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:947](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L947)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | - | +`_value` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1057](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1057)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1045](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1045)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_to`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:1030](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L1030)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | +------ | ------ | +`_to` | string | +`_value` | `BigNumber` | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:888](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L888)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_to` | string | - | +`_value` | `BigNumber` | - | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:967](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L967)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_to` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +___ + +### transferFrom + +#### ▪ **transferFrom**: *object* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:409](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L409)* + +ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. + +#### awaitTransactionSuccessAsync + +▸ **awaitTransactionSuccessAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial`, `pollingIntervalMs?`: undefined | number, `timeoutMs?`: undefined | number): *`PromiseWithTransactionHash`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:459](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L459)* + +Sends an Ethereum transaction and waits until the transaction has been successfully mined without reverting. +If the transaction was mined, but reverted, an error is thrown. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | +`txData?` | `Partial` | Additional data for transaction | +`pollingIntervalMs?` | undefined \| number | Interval at which to poll for success | +`timeoutMs?` | undefined \| number | - | + +**Returns:** *`PromiseWithTransactionHash`* + +A promise that resolves when the transaction is successful + +#### callAsync + +▸ **callAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `callData`: `Partial`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:546](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L546)* + +Sends a read-only call to the contract method. Returns the result that would happen if one were to send an +Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas +since they don't modify state. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`_from` | string | - | Address to transfer from. | +`_to` | string | - | Address to transfer to. | +`_value` | `BigNumber` | - | Amount to transfer. | +`callData` | `Partial` | {} | - | +`defaultBlock?` | [BlockParam](#blockparam) | - | - | + +**Returns:** *`Promise`* + +Success of transfer. + +#### estimateGasAsync + +▸ **estimateGasAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:497](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L497)* + +Estimates the gas cost of sending an Ethereum transaction calling this method with these arguments. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### getABIDecodedReturnData + +▸ **getABIDecodedReturnData**(`returnData`: string): *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:633](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L633)* + +Decode the ABI-encoded return data from a transaction + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`returnData` | string | the data returned after transaction execution | + +**Returns:** *boolean* + +An array representing the output results in order. Keynames of nested structs are preserved. + +#### getABIDecodedTransactionData + +▸ **getABIDecodedTransactionData**(`callData`: string): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:621](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L621)* + +Decode the ABI-encoded transaction data into its input arguments + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`callData` | string | The ABI-encoded transaction data | + +**Returns:** *string* + +An array representing the input arguments in order. Keynames of nested structs are preserved. + +#### getABIEncodedTransactionData + +▸ **getABIEncodedTransactionData**(`_from`: string, `_to`: string, `_value`: `BigNumber`): *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:604](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L604)* + +Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before +sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used +to create a 0x transaction (see protocol spec for more details). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | + +**Returns:** *string* + +The ABI encoded transaction data as a string + +#### sendTransactionAsync + +▸ **sendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L419)* + +Sends an Ethereum transaction executing this method with the supplied parameters. This is a read/write +Ethereum operation and will cost gas. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`_from` | string | Address to transfer from. | +`_to` | string | Address to transfer to. | +`_value` | `BigNumber` | Amount to transfer. | +`txData?` | `Partial` \| undefined | Additional data for transaction | + +**Returns:** *`Promise`* + +The hash of the transaction + +#### validateAndSendTransactionAsync + +▸ **validateAndSendTransactionAsync**(`_from`: string, `_to`: string, `_value`: `BigNumber`, `txData?`: `Partial` | undefined): *`Promise`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:527](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L527)* + +**Parameters:** + +Name | Type | +------ | ------ | +`_from` | string | +`_to` | string | +`_value` | `BigNumber` | +`txData?` | `Partial` \| undefined | + +**Returns:** *`Promise`* + +
+ +# Class: ContractWrappers + +The ContractWrappers class contains smart contract wrappers helpful when building on 0x protocol. + + +## Constructors + + + +\+ **new ContractWrappers**(`supportedProvider`: [SupportedProvider](#supportedprovider), `config`: [ContractWrappersConfig](#interface-contractwrappersconfig)): *[ContractWrappers](#class-contractwrappers)* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L84)* + +Instantiates a new ContractWrappers instance. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`supportedProvider` | [SupportedProvider](#supportedprovider) | The Provider instance you would like the contract-wrappers library to use for interacting with the Ethereum network. | +`config` | [ContractWrappersConfig](#interface-contractwrappersconfig) | The configuration object. Look up the type for the description. | + +**Returns:** *[ContractWrappers](#class-contractwrappers)* + +An instance of the ContractWrappers class. + +## Properties + +#### contractAddresses + +• **contractAddresses**: *`ContractAddresses`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L43)* + +An index of the default contract addresses for this network. + +___ + +### coordinator + +• **coordinator**: *[CoordinatorWrapper](#class-coordinatorwrapper)* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L82)* + +An instance of the CoordinatorWrapper class containing methods for interacting with the Coordinator extension contract. + +___ + +### devUtils + +• **devUtils**: *`DevUtilsContract`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L78)* + +An instance of the DevUtilsContract class containing methods for interacting with the DevUtils smart contract. + +___ + +### dutchAuction + +• **dutchAuction**: *`DutchAuctionContract`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L74)* + +An instance of the DutchAuctionContract class containing methods for interacting with any DutchAuction smart contract. + +___ + +### erc20Proxy + +• **erc20Proxy**: *`ERC20ProxyContract`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L52)* + +An instance of the ERC20ProxyContract class containing methods for interacting with the +erc20Proxy smart contract. + +___ + +### erc721Proxy + +• **erc721Proxy**: *`ERC721ProxyContract`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L57)* + +An instance of the ERC721ProxyContract class containing methods for interacting with the +erc721Proxy smart contract. + +___ + +### exchange + +• **exchange**: *`ExchangeContract`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L47)* + +An instance of the ExchangeContract class containing methods for interacting with the 0x Exchange smart contract. + +___ + +### forwarder + +• **forwarder**: *`ForwarderContract`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:66](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L66)* + +An instance of the ForwarderContract class containing methods for interacting with any Forwarder smart contract. + +___ + +### orderValidator + +• **orderValidator**: *`OrderValidatorContract`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L70)* + +An instance of the OrderValidatorContract class containing methods for interacting with any OrderValidator smart contract. + +___ + +### weth9 + +• **weth9**: *`WETH9Contract`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:62](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L62)* + +An instance of the WETH9Contract class containing methods for interacting with the +WETH9 smart contract. + +## Methods + +### getAbiDecoder + +▸ **getAbiDecoder**(): *`AbiDecoder`* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:155](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L155)* + +Get the abi decoder instance currently used by contract-wrappers + +**Returns:** *`AbiDecoder`* + +AbiDecoder instance + +___ + +### getProvider + +▸ **getProvider**(): *[SupportedProvider](#supportedprovider)* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L148)* + +Get the provider instance currently used by contract-wrappers + +**Returns:** *[SupportedProvider](#supportedprovider)* + +Web3 provider instance + +___ + +### unsubscribeAll + +▸ **unsubscribeAll**(): *void* + +*Defined in [contract-wrappers/src/contract_wrappers.ts:138](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/contract_wrappers.ts#L138)* + +Unsubscribes from all subscriptions for all contracts. + +**Returns:** *void* + +
+ +# Class: CoordinatorWrapper + +This class includes all the functionality related to filling or cancelling orders through +the 0x V2 Coordinator extension contract. + + +## Constructors + + + +\+ **new CoordinatorWrapper**(`provider`: [SupportedProvider](#supportedprovider), `networkId`: number, `address?`: undefined | string, `exchangeAddress?`: undefined | string, `registryAddress?`: undefined | string): *[CoordinatorWrapper](#class-coordinatorwrapper)* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L43)* + +Instantiate CoordinatorWrapper + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`provider` | [SupportedProvider](#supportedprovider) | - | +`networkId` | number | Desired networkId. | +`address?` | undefined \| string | The address of the Coordinator contract. If undefined, will default to the known address corresponding to the networkId. | +`exchangeAddress?` | undefined \| string | The address of the Exchange contract. If undefined, will default to the known address corresponding to the networkId. | +`registryAddress?` | undefined \| string | The address of the CoordinatorRegistry contract. If undefined, will default to the known address corresponding to the networkId. | + +**Returns:** *[CoordinatorWrapper](#class-coordinatorwrapper)* + +## Properties + +### abi + +• **abi**: *[ContractAbi](#contractabi)* = Coordinator.compilerOutput.abi + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L34)* + +___ + +### address + +• **address**: *string* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L36)* + +___ + +### exchangeAddress + +• **exchangeAddress**: *string* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L37)* + +___ + +### networkId + +• **networkId**: *number* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L35)* + +___ + +### registryAddress + +• **registryAddress**: *string* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L38)* + +## Methods + +### assertValidCoordinatorApprovalsOrThrowAsync + +▸ **assertValidCoordinatorApprovalsOrThrowAsync**(`transaction`: `ZeroExTransaction`, `txOrigin`: string, `transactionSignature`: string, `approvalExpirationTimeSeconds`: `BigNumber`[], `approvalSignatures`: string[]): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:529](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L529)* + +Validates that the 0x transaction has been approved by all of the feeRecipients that correspond to each order in the transaction's Exchange calldata. +Throws an error if the transaction approvals are not valid. Will not detect failures that would occur when the transaction is executed on the Exchange contract. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`transaction` | `ZeroExTransaction` | 0x transaction containing salt, signerAddress, and data. | +`txOrigin` | string | Required signer of Ethereum transaction calling this function. | +`transactionSignature` | string | Proof that the transaction has been signed by the signer. | +`approvalExpirationTimeSeconds` | `BigNumber`[] | Array of expiration times in seconds for which each corresponding approval signature expires. | +`approvalSignatures` | string[] | Array of signatures that correspond to the feeRecipients of each order in the transaction's Exchange calldata. | + +**Returns:** *`Promise`* + +___ + +### batchFillOrKillOrdersAsync + +▸ **batchFillOrKillOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:241](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L241)* + +Batch version of fillOrKillOrderAsync. Executes multiple fills atomically in a single transaction. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | +`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | +`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### batchFillOrdersAsync + +▸ **batchFillOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:171](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L171)* + +Batch version of fillOrderAsync. Executes multiple fills atomically in a single transaction. +Under-the-hood, this method uses the `feeRecipientAddress`s of the orders to looks up the coordinator server endpoints +registered in the coordinator registry contract. It requests a signature from each coordinator server before +submitting the orders and signatures as a 0x transaction to the coordinator extension contract, which validates the +signatures and then fills the order through the Exchange contract. +If any `feeRecipientAddress` in the batch is not registered to a coordinator server, the whole batch fails. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | +`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | +`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### batchFillOrdersNoThrowAsync + +▸ **batchFillOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmounts`: `BigNumber`[], `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:206](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L206)* + +No throw version of batchFillOrdersAsync + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | +`takerAssetFillAmounts` | `BigNumber`[] | - | The amounts of the orders (in taker asset baseUnits) that you wish to fill. | +`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### batchHardCancelOrdersAsync + +▸ **batchHardCancelOrdersAsync**(`orders`: `SignedOrder`[], `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:460](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L460)* + +Batch version of hardCancelOrderAsync. Cancels orders on-chain by submitting an Ethereum transaction. +Executes multiple cancels atomically in a single transaction. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`orders` | `SignedOrder`[] | - | An array of orders to cancel. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### batchSoftCancelOrdersAsync + +▸ **batchSoftCancelOrdersAsync**(`orders`: `SignedOrder`[]): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L374)* + +Batch version of softCancelOrderAsync. Requests multiple soft cancels + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`orders` | `SignedOrder`[] | An array of orders to cancel. | + +**Returns:** *`Promise`* + +CoordinatorServerCancellationResponse. See [Cancellation Response](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#response). + +___ + +### fillOrKillOrderAsync + +▸ **fillOrKillOrderAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:134](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L134)* + +Attempts to fill a specific amount of an order. If the entire amount specified cannot be filled, +the fill order is abandoned. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`signedOrder` | `SignedOrder` | - | An object that conforms to the SignedOrder interface. | +`takerAssetFillAmount` | `BigNumber` | - | The amount of the order (in taker asset baseUnits) that you wish to fill. | +`takerAddress` | string | - | The user Ethereum address who would like to fill this order. Must be available via the supplied Provider provided at instantiation. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### fillOrderAsync + +▸ **fillOrderAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:101](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L101)* + +Fills a signed order with an amount denominated in baseUnits of the taker asset. Under-the-hood, this +method uses the `feeRecipientAddress` of the order to look up the coordinator server endpoint registered in the +coordinator registry contract. It requests a signature from that coordinator server before +submitting the order and signature as a 0x transaction to the coordinator extension contract. The coordinator extension +contract validates signatures and then fills the order via the Exchange contract. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`signedOrder` | `SignedOrder` | - | An object that conforms to the SignedOrder interface. | +`takerAssetFillAmount` | `BigNumber` | - | The amount of the order (in taker asset baseUnits) that you wish to fill. | +`takerAddress` | string | - | The user Ethereum address who would like to fill this order. Must be available via the supplied Provider provided at instantiation. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### getSignerAddressAsync + +▸ **getSignerAddressAsync**(`hash`: string, `signature`: string): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L561)* + +Recovers the address of a signer given a hash and signature. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`hash` | string | Any 32 byte hash. | +`signature` | string | Proof that the hash has been signed by signer. | + +**Returns:** *`Promise`* + +Signer address. + +___ + +### hardCancelOrderAsync + +▸ **hardCancelOrderAsync**(`order`: `Order` | `SignedOrder`, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:428](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L428)* + +Cancels an order on-chain by submitting an Ethereum transaction. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`order` | `Order` \| `SignedOrder` | - | An object that conforms to the Order or SignedOrder interface. The order you would like to cancel. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### hardCancelOrdersUpToAsync + +▸ **hardCancelOrdersUpToAsync**(`targetOrderEpoch`: `BigNumber`, `senderAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:495](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L495)* + +Cancels orders on-chain by submitting an Ethereum transaction. +Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch +and senderAddress equal to coordinator extension contract address. + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`targetOrderEpoch` | `BigNumber` | - | Target order epoch. | +`senderAddress` | string | - | Address that should send the transaction. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### marketBuyOrdersNoThrowAsync + +▸ **marketBuyOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `makerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:276](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L276)* + +No throw version of marketBuyOrdersAsync + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | +`makerAssetFillAmount` | `BigNumber` | - | Maker asset fill amount. | +`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### marketSellOrdersNoThrowAsync + +▸ **marketSellOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:309](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L309)* + +No throw version of marketSellOrdersAsync + +**Parameters:** + +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | +`takerAssetFillAmount` | `BigNumber` | - | Taker asset fill amount. | +`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | +`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | + +**Returns:** *`Promise`* + +Transaction hash. + +___ + +### softCancelOrderAsync + +▸ **softCancelOrderAsync**(`order`: `Order` | `SignedOrder`): *`Promise`* + +*Defined in [contract-wrappers/src/coordinator_wrapper.ts:339](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/coordinator_wrapper.ts#L339)* + +Soft cancel a given order. +Soft cancels are recorded only on coordinator operator servers and do not involve an Ethereum transaction. +See [soft cancels](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#soft-cancels). + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`order` | `Order` \| `SignedOrder` | An object that conforms to the Order or SignedOrder interface. The order you would like to cancel. | + +**Returns:** *`Promise`* + +CoordinatorServerCancellationResponse. See [Cancellation Response](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#response). + +
+ +# Class: AbiDecoder + +AbiDecoder allows you to decode event logs given a set of supplied contract ABI's. It takes the contract's event +signature from the ABI and attempts to decode the logs using it. + + +## Constructors + + + +\+ **new AbiDecoder**(`abiArrays`: [AbiDefinition](#abidefinition)[][]): *[AbiDecoder](#class-abidecoder)* + +*Defined in [utils/src/abi_decoder.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L42)* + +Instantiate an AbiDecoder + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`abiArrays` | [AbiDefinition](#abidefinition)[][] | An array of contract ABI's | + +**Returns:** *[AbiDecoder](#class-abidecoder)* + +AbiDecoder instance + +## Methods + +### addABI + +▸ **addABI**(`abiArray`: [AbiDefinition](#abidefinition)[], `contractName?`: undefined | string): *void* + +*Defined in [utils/src/abi_decoder.ts:158](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L158)* + +Adds a set of ABI definitions, after which calldata and logs targeting these ABI's can be decoded. +Additional properties can be included to disambiguate similar ABI's. For example, if two functions +have the same signature but different parameter names, then their ABI definitions can be disambiguated +by specifying a contract name. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`abiArray` | [AbiDefinition](#abidefinition)[] | - | +`contractName?` | undefined \| string | Name of contract that encapsulates the ABI definitions (optional). This can be used when decoding calldata to disambiguate methods with the same signature but different parameter names. | + +**Returns:** *void* + +___ + +### decodeCalldataOrThrow + +▸ **decodeCalldataOrThrow**(`calldata`: string, `contractName?`: undefined | string): *`DecodedCalldata`* + +*Defined in [utils/src/abi_decoder.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L118)* + +Decodes calldata for a known ABI. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`calldata` | string | hex-encoded calldata. | +`contractName?` | undefined \| string | used to disambiguate similar ABI's (optional). | + +**Returns:** *`DecodedCalldata`* + +Decoded calldata. Includes: function name and signature, along with the decoded arguments. + +___ + +### tryToDecodeLogOrNoop + +▸ **tryToDecodeLogOrNoop**<**ArgsType**>(`log`: `LogEntry`): *`LogWithDecodedArgs` | [RawLog](#rawlog)* + +*Defined in [utils/src/abi_decoder.ts:58](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L58)* + +Attempt to decode a log given the ABI's the AbiDecoder knows about. + +**Type parameters:** + +▪ **ArgsType**: *`DecodedLogArgs`* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`log` | `LogEntry` | The log to attempt to decode | + +**Returns:** *`LogWithDecodedArgs` | [RawLog](#rawlog)* + +The decoded log if the requisite ABI was available. Otherwise the log unaltered. + +
+ +# Enumeration: CoordinatorRegistryEvents + + +## Enumeration members + +### CoordinatorEndpointSet + +• **CoordinatorEndpointSet**: = "CoordinatorEndpointSet" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L31)* + +
+ +# Enumeration: DummyERC20TokenEvents + + +## Enumeration members + +### Approval + +• **Approval**: = "Approval" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L31)* + +___ + +### Transfer + +• **Transfer**: = "Transfer" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L32)* + +
+ +# Enumeration: DummyERC721TokenEvents + + +## Enumeration members + +### Approval + +• **Approval**: = "Approval" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L34)* + +___ + +### ApprovalForAll + +• **ApprovalForAll**: = "ApprovalForAll" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L35)* + +___ + +### Transfer + +• **Transfer**: = "Transfer" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L36)* + +
+ +# Enumeration: ERC1155ProxyEvents + + +## Enumeration members + +### AuthorizedAddressAdded + +• **AuthorizedAddressAdded**: = "AuthorizedAddressAdded" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L33)* + +___ + +### AuthorizedAddressRemoved + +• **AuthorizedAddressRemoved**: = "AuthorizedAddressRemoved" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L34)* + +
+ +# Enumeration: ERC20ProxyEvents + + +## Enumeration members + +### AuthorizedAddressAdded + +• **AuthorizedAddressAdded**: = "AuthorizedAddressAdded" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L33)* + +___ + +### AuthorizedAddressRemoved + +• **AuthorizedAddressRemoved**: = "AuthorizedAddressRemoved" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L34)* + +
+ +# Enumeration: ERC20TokenEvents + + +## Enumeration members + +### Approval + +• **Approval**: = "Approval" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L32)* + +___ + +### Transfer + +• **Transfer**: = "Transfer" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L31)* + +
+ +# Enumeration: ERC721ProxyEvents + + +## Enumeration members + +### AuthorizedAddressAdded + +• **AuthorizedAddressAdded**: = "AuthorizedAddressAdded" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L33)* + +___ + +### AuthorizedAddressRemoved + +• **AuthorizedAddressRemoved**: = "AuthorizedAddressRemoved" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L34)* + +
+ +# Enumeration: ERC721TokenEvents + + +## Enumeration members + +### Approval + +• **Approval**: = "Approval" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L34)* + +___ + +### ApprovalForAll + +• **ApprovalForAll**: = "ApprovalForAll" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L35)* + +___ + +### Transfer + +• **Transfer**: = "Transfer" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L36)* + +
+ +# Enumeration: ExchangeEvents + + +## Enumeration members + +### AssetProxyRegistered + +• **AssetProxyRegistered**: = "AssetProxyRegistered" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L39)* + +___ + +### Cancel + +• **Cancel**: = "Cancel" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L40)* + +___ + +### CancelUpTo + +• **CancelUpTo**: = "CancelUpTo" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L41)* + +___ + +### Fill + +• **Fill**: = "Fill" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L42)* + +___ + +### ProtocolFeeCollectorAddress + +• **ProtocolFeeCollectorAddress**: = "ProtocolFeeCollectorAddress" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L43)* + +___ + +### ProtocolFeeMultiplier + +• **ProtocolFeeMultiplier**: = "ProtocolFeeMultiplier" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L44)* + +___ + +### SignatureValidatorApproval + +• **SignatureValidatorApproval**: = "SignatureValidatorApproval" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L45)* + +___ + +### TransactionExecution + +• **TransactionExecution**: = "TransactionExecution" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L46)* + +
+ +# Enumeration: WETH9Events + + +## Enumeration members + +### Approval + +• **Approval**: = "Approval" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L35)* + +___ + +### Deposit + +• **Deposit**: = "Deposit" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L37)* + +___ + +### Transfer + +• **Transfer**: = "Transfer" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L36)* + +___ + +### Withdrawal + +• **Withdrawal**: = "Withdrawal" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L38)* + +
+ +# Enumeration: ZRXTokenEvents + + +## Enumeration members + +### Approval + +• **Approval**: = "Approval" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L32)* + +___ + +### Transfer + +• **Transfer**: = "Transfer" + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L31)* + +
+ + + +# Enumeration: ContractError + + +## Enumeration members + +### ContractNotDeployedOnNetwork + +• **ContractNotDeployedOnNetwork**: = "CONTRACT_NOT_DEPLOYED_ON_NETWORK" + +*Defined in [contract-wrappers/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L16)* + +___ + +### ERC721NoApproval + +• **ERC721NoApproval**: = "ERC_721_NO_APPROVAL" + +*Defined in [contract-wrappers/src/types.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L26)* + +___ + +### ERC721OwnerNotFound + +• **ERC721OwnerNotFound**: = "ERC_721_OWNER_NOT_FOUND" + +*Defined in [contract-wrappers/src/types.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L25)* + +___ + +### InsufficientAllowanceForTransfer + +• **InsufficientAllowanceForTransfer**: = "INSUFFICIENT_ALLOWANCE_FOR_TRANSFER" + +*Defined in [contract-wrappers/src/types.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L17)* + +___ + +### InsufficientBalanceForTransfer + +• **InsufficientBalanceForTransfer**: = "INSUFFICIENT_BALANCE_FOR_TRANSFER" + +*Defined in [contract-wrappers/src/types.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L18)* + +___ + +### InsufficientEthBalanceForDeposit + +• **InsufficientEthBalanceForDeposit**: = "INSUFFICIENT_ETH_BALANCE_FOR_DEPOSIT" + +*Defined in [contract-wrappers/src/types.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L19)* + +___ + +### InsufficientWEthBalanceForWithdrawal + +• **InsufficientWEthBalanceForWithdrawal**: = "INSUFFICIENT_WETH_BALANCE_FOR_WITHDRAWAL" + +*Defined in [contract-wrappers/src/types.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L20)* + +___ + +### InvalidJump + +• **InvalidJump**: = "INVALID_JUMP" + +*Defined in [contract-wrappers/src/types.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L21)* + +___ + +### OutOfGas + +• **OutOfGas**: = "OUT_OF_GAS" + +*Defined in [contract-wrappers/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L22)* + +___ + +### SignatureRequestDenied + +• **SignatureRequestDenied**: = "SIGNATURE_REQUEST_DENIED" + +*Defined in [contract-wrappers/src/types.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L27)* + +___ + +### SubscriptionAlreadyPresent + +• **SubscriptionAlreadyPresent**: = "SUBSCRIPTION_ALREADY_PRESENT" + +*Defined in [contract-wrappers/src/types.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L24)* + +___ + +### SubscriptionNotFound + +• **SubscriptionNotFound**: = "SUBSCRIPTION_NOT_FOUND" + +*Defined in [contract-wrappers/src/types.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L23)* + +
+ +# Enumeration: ForwarderError + + +## Enumeration members + +### CompleteFillFailed + +• **CompleteFillFailed**: = "COMPLETE_FILL_FAILED" + +*Defined in [contract-wrappers/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L12)* + +
+ + + + + +# Enumeration: BlockParamLiteral + + +## Enumeration members + +### Earliest + +• **Earliest**: = "earliest" + +*Defined in [ethereum-types/src/index.ts:478](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L478)* + +___ + +### Latest + +• **Latest**: = "latest" + +*Defined in [ethereum-types/src/index.ts:479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L479)* + +___ + +### Pending + +• **Pending**: = "pending" + +*Defined in [ethereum-types/src/index.ts:480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L480)* + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Interface: CoordinatorRegistryCoordinatorEndpointSetEventArgs + + +## Index + +### Properties + +* [coordinatorEndpoint](#coordinatorendpoint) +* [coordinatorOperator](#coordinatoroperator) + +## Properties + +### coordinatorEndpoint + +• **coordinatorEndpoint**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L36)* + +___ + +### coordinatorOperator + +• **coordinatorOperator**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L35)* + +
+ +# Interface: DummyERC20TokenApprovalEventArgs + + +## Index + +### Properties + +* [_owner](#_owner) +* [_spender](#_spender) +* [_value](#_value) + +## Properties + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L36)* + +___ + +### _spender + +• **_spender**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L37)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L38)* + +
+ +# Interface: DummyERC20TokenTransferEventArgs + + +## Index + +### Properties + +* [_from](#_from) +* [_to](#_to) +* [_value](#_value) + +## Properties + +### _from + +• **_from**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L42)* + +___ + +### _to + +• **_to**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L43)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L44)* + +
+ +# Interface: DummyERC721TokenApprovalEventArgs + + +## Index + +### Properties + +* [_approved](#_approved) +* [_owner](#_owner) +* [_tokenId](#_tokenid) + +## Properties + +### _approved + +• **_approved**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L41)* + +___ + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L40)* + +___ + +### _tokenId + +• **_tokenId**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L42)* + +
+ +# Interface: DummyERC721TokenApprovalForAllEventArgs + + +## Index + +### Properties + +* [_approved](#_approved) +* [_operator](#_operator) +* [_owner](#_owner) + +## Properties + +### _approved + +• **_approved**: *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L48)* + +___ + +### _operator + +• **_operator**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L47)* + +___ + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L46)* + +
+ +# Interface: DummyERC721TokenTransferEventArgs + + +## Index + +### Properties + +* [_from](#_from) +* [_to](#_to) +* [_tokenId](#_tokenid) + +## Properties + +### _from + +• **_from**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L52)* + +___ + +### _to + +• **_to**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L53)* + +___ + +### _tokenId + +• **_tokenId**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L54)* + +
+ +# Interface: ERC1155ProxyAuthorizedAddressAddedEventArgs + + +## Index + +### Properties + +* [caller](#caller) +* [target](#target) + +## Properties + +### caller + +• **caller**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L39)* + +___ + +### target + +• **target**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L38)* + +
+ +# Interface: ERC1155ProxyAuthorizedAddressRemovedEventArgs + + +## Index + +### Properties + +* [caller](#caller) +* [target](#target) + +## Properties + +### caller + +• **caller**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L44)* + +___ + +### target + +• **target**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L43)* + +
+ +# Interface: ERC20ProxyAuthorizedAddressAddedEventArgs + + +## Index + +### Properties + +* [caller](#caller) +* [target](#target) + +## Properties + +### caller + +• **caller**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L39)* + +___ + +### target + +• **target**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L38)* + +
+ +# Interface: ERC20ProxyAuthorizedAddressRemovedEventArgs + + +## Index + +### Properties + +* [caller](#caller) +* [target](#target) + +## Properties + +### caller + +• **caller**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L44)* + +___ + +### target + +• **target**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L43)* + +
+ +# Interface: ERC20TokenApprovalEventArgs + + +## Index + +### Properties + +* [_owner](#_owner) +* [_spender](#_spender) +* [_value](#_value) + +## Properties + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L42)* + +___ + +### _spender + +• **_spender**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L43)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L44)* + +
+ +# Interface: ERC20TokenTransferEventArgs + + +## Index + +### Properties + +* [_from](#_from) +* [_to](#_to) +* [_value](#_value) + +## Properties + +### _from + +• **_from**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L36)* + +___ + +### _to + +• **_to**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L37)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L38)* + +
+ +# Interface: ERC721ProxyAuthorizedAddressAddedEventArgs + + +## Index + +### Properties + +* [caller](#caller) +* [target](#target) + +## Properties + +### caller + +• **caller**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L39)* + +___ + +### target + +• **target**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L38)* + +
+ +# Interface: ERC721ProxyAuthorizedAddressRemovedEventArgs + + +## Index + +### Properties + +* [caller](#caller) +* [target](#target) + +## Properties + +### caller + +• **caller**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L44)* + +___ + +### target + +• **target**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L43)* + +
+ +# Interface: ERC721TokenApprovalEventArgs + + +## Index + +### Properties + +* [_approved](#_approved) +* [_owner](#_owner) +* [_tokenId](#_tokenid) + +## Properties + +### _approved + +• **_approved**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L41)* + +___ + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L40)* + +___ + +### _tokenId + +• **_tokenId**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L42)* + +
+ +# Interface: ERC721TokenApprovalForAllEventArgs + + +## Index + +### Properties + +* [_approved](#_approved) +* [_operator](#_operator) +* [_owner](#_owner) + +## Properties + +### _approved + +• **_approved**: *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L48)* + +___ + +### _operator + +• **_operator**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L47)* + +___ + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L46)* + +
+ +# Interface: ERC721TokenTransferEventArgs + + +## Index + +### Properties + +* [_from](#_from) +* [_to](#_to) +* [_tokenId](#_tokenid) + +## Properties + +### _from + +• **_from**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L52)* + +___ + +### _to + +• **_to**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L53)* + +___ + +### _tokenId + +• **_tokenId**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L54)* + +
+ +# Interface: ExchangeAssetProxyRegisteredEventArgs + + +## Index + +### Properties + +* [assetProxy](#assetproxy) +* [id](#id) + +## Properties + +### assetProxy + +• **assetProxy**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L51)* + +___ + +### id + +• **id**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L50)* + +
+ +# Interface: ExchangeCancelEventArgs + + +## Index + +### Properties + +* [feeRecipientAddress](#feerecipientaddress) +* [makerAddress](#makeraddress) +* [makerAssetData](#makerassetdata) +* [orderHash](#orderhash) +* [senderAddress](#senderaddress) +* [takerAssetData](#takerassetdata) + +## Properties + +### feeRecipientAddress + +• **feeRecipientAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L56)* + +___ + +### makerAddress + +• **makerAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L55)* + +___ + +### makerAssetData + +• **makerAssetData**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L57)* + +___ + +### orderHash + +• **orderHash**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:60](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L60)* + +___ + +### senderAddress + +• **senderAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L59)* + +___ + +### takerAssetData + +• **takerAssetData**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:58](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L58)* + +
+ +# Interface: ExchangeCancelUpToEventArgs + + +## Index + +### Properties + +* [makerAddress](#makeraddress) +* [orderEpoch](#orderepoch) +* [orderSenderAddress](#ordersenderaddress) + +## Properties + +### makerAddress + +• **makerAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:64](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L64)* + +___ + +### orderEpoch + +• **orderEpoch**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:66](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L66)* + +___ + +### orderSenderAddress + +• **orderSenderAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:65](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L65)* + +
+ +# Interface: ExchangeFillEventArgs + + +## Index + +### Properties + +* [feeRecipientAddress](#feerecipientaddress) +* [makerAddress](#makeraddress) +* [makerAssetData](#makerassetdata) +* [makerAssetFilledAmount](#makerassetfilledamount) +* [makerFeeAssetData](#makerfeeassetdata) +* [makerFeePaid](#makerfeepaid) +* [orderHash](#orderhash) +* [protocolFeePaid](#protocolfeepaid) +* [senderAddress](#senderaddress) +* [takerAddress](#takeraddress) +* [takerAssetData](#takerassetdata) +* [takerAssetFilledAmount](#takerassetfilledamount) +* [takerFeeAssetData](#takerfeeassetdata) +* [takerFeePaid](#takerfeepaid) + +## Properties + +### feeRecipientAddress + +• **feeRecipientAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:71](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L71)* + +___ + +### makerAddress + +• **makerAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L70)* + +___ + +### makerAssetData + +• **makerAssetData**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:72](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L72)* + +___ + +### makerAssetFilledAmount + +• **makerAssetFilledAmount**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:79](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L79)* + +___ + +### makerFeeAssetData + +• **makerFeeAssetData**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L74)* + +___ + +### makerFeePaid + +• **makerFeePaid**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:81](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L81)* + +___ + +### orderHash + +• **orderHash**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:76](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L76)* + +___ + +### protocolFeePaid + +• **protocolFeePaid**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:83](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L83)* + +___ + +### senderAddress + +• **senderAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L78)* + +___ + +### takerAddress + +• **takerAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L77)* + +___ + +### takerAssetData + +• **takerAssetData**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L73)* + +___ + +### takerAssetFilledAmount + +• **takerAssetFilledAmount**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L80)* + +___ + +### takerFeeAssetData + +• **takerFeeAssetData**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L75)* + +___ + +### takerFeePaid + +• **takerFeePaid**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L82)* + +
+ +# Interface: ExchangeProtocolFeeCollectorAddressEventArgs + + +## Index + +### Properties + +* [oldProtocolFeeCollector](#oldprotocolfeecollector) +* [updatedProtocolFeeCollector](#updatedprotocolfeecollector) + +## Properties + +### oldProtocolFeeCollector + +• **oldProtocolFeeCollector**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:87](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L87)* + +___ + +### updatedProtocolFeeCollector + +• **updatedProtocolFeeCollector**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:88](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L88)* + +
+ +# Interface: ExchangeProtocolFeeMultiplierEventArgs + + +## Index + +### Properties + +* [oldProtocolFeeMultiplier](#oldprotocolfeemultiplier) +* [updatedProtocolFeeMultiplier](#updatedprotocolfeemultiplier) + +## Properties + +### oldProtocolFeeMultiplier + +• **oldProtocolFeeMultiplier**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L92)* + +___ + +### updatedProtocolFeeMultiplier + +• **updatedProtocolFeeMultiplier**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L93)* + +
+ +# Interface: ExchangeSignatureValidatorApprovalEventArgs + + +## Index + +### Properties + +* [isApproved](#isapproved) +* [signerAddress](#signeraddress) +* [validatorAddress](#validatoraddress) + +## Properties + +### isApproved + +• **isApproved**: *boolean* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:99](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L99)* + +___ + +### signerAddress + +• **signerAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:97](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L97)* + +___ + +### validatorAddress + +• **validatorAddress**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:98](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L98)* + +
+ +# Interface: ExchangeTransactionExecutionEventArgs + + +## Index + +### Properties + +* [transactionHash](#transactionhash) + +## Properties + +### transactionHash + +• **transactionHash**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L103)* + +
+ +# Interface: WETH9ApprovalEventArgs + + +## Index + +### Properties + +* [_owner](#_owner) +* [_spender](#_spender) +* [_value](#_value) + +## Properties + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L42)* + +___ + +### _spender + +• **_spender**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L43)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L44)* + +
+ +# Interface: WETH9DepositEventArgs + + +## Index + +### Properties + +* [_owner](#_owner) +* [_value](#_value) + +## Properties + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L54)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L55)* + +
+ +# Interface: WETH9TransferEventArgs + + +## Index + +### Properties + +* [_from](#_from) +* [_to](#_to) +* [_value](#_value) + +## Properties + +### _from + +• **_from**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L48)* + +___ + +### _to + +• **_to**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L49)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L50)* + +
+ +# Interface: WETH9WithdrawalEventArgs + + +## Index + +### Properties + +* [_owner](#_owner) +* [_value](#_value) + +## Properties + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L59)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:60](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L60)* + +
+ +# Interface: ZRXTokenApprovalEventArgs + + +## Index + +### Properties + +* [_owner](#_owner) +* [_spender](#_spender) +* [_value](#_value) + +## Properties + +### _owner + +• **_owner**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L42)* + +___ + +### _spender + +• **_spender**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L43)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L44)* + +
+ +# Interface: ZRXTokenTransferEventArgs + + +## Index + +### Properties + +* [_from](#_from) +* [_to](#_to) +* [_value](#_value) + +## Properties + +### _from + +• **_from**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L36)* + +___ + +### _to + +• **_to**: *string* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L37)* + +___ + +### _value + +• **_value**: *`BigNumber`* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L38)* + +
+ +# Interface: ContractAddresses + + +## Properties + +### assetProxyOwner + +• **assetProxyOwner**: *string* + +*Defined in [contract-addresses/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L9)* + +___ + +### coordinator + +• **coordinator**: *string* + +*Defined in [contract-addresses/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L14)* + +___ + +### coordinatorRegistry + +• **coordinatorRegistry**: *string* + +*Defined in [contract-addresses/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L13)* + +___ + +### devUtils + +• **devUtils**: *string* + +*Defined in [contract-addresses/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L18)* + +___ + +### dutchAuction + +• **dutchAuction**: *string* + +*Defined in [contract-addresses/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L12)* + +___ + +### erc1155Proxy + +• **erc1155Proxy**: *string* + +*Defined in [contract-addresses/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L17)* + +___ + +### erc20Proxy + +• **erc20Proxy**: *string* + +*Defined in [contract-addresses/src/index.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L4)* + +___ + +### erc721Proxy + +• **erc721Proxy**: *string* + +*Defined in [contract-addresses/src/index.ts:5](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L5)* + +___ + +### etherToken + +• **etherToken**: *string* + +*Defined in [contract-addresses/src/index.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L7)* + +___ + +### exchange + +• **exchange**: *string* + +*Defined in [contract-addresses/src/index.ts:8](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L8)* + +___ + +### forwarder + +• **forwarder**: *string* + +*Defined in [contract-addresses/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L10)* + +___ + +### multiAssetProxy + +• **multiAssetProxy**: *string* + +*Defined in [contract-addresses/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L15)* + +___ + +### orderValidator + +• **orderValidator**: *string* + +*Defined in [contract-addresses/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L11)* + +___ + +### staticCallProxy + +• **staticCallProxy**: *string* + +*Defined in [contract-addresses/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L16)* + +___ + +### zrxToken + +• **zrxToken**: *string* + +*Defined in [contract-addresses/src/index.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L6)* + +
+ +# Interface: ContractWrappersConfig + +networkId: The id of the underlying ethereum network your provider is connected to. (1-mainnet, 3-ropsten, 4-rinkeby, 42-kovan, 50-testrpc) +gasPrice: Gas price to use with every transaction +contractAddresses: The address of all contracts to use. Defaults to the known addresses based on networkId. +blockPollingIntervalMs: The interval to use for block polling in event watching methods (defaults to 1000) + + +## Properties + +### `Optional` blockPollingIntervalMs + +• **blockPollingIntervalMs**? : *undefined | number* + +*Defined in [contract-wrappers/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L40)* + +___ + +### `Optional` contractAddresses + +• **contractAddresses**? : *[ContractAddresses](#class-contractaddresses)* + +*Defined in [contract-wrappers/src/types.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L39)* + +___ + +### `Optional` gasPrice + +• **gasPrice**? : *`BigNumber`* + +*Defined in [contract-wrappers/src/types.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L38)* + +___ + +### networkId + +• **networkId**: *number* + +*Defined in [contract-wrappers/src/types.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L37)* + +
+ + + + + + + +# Interface: OrderTransactionOpts + +shouldValidate: Flag indicating whether the library should make attempts to validate a transaction before +broadcasting it. For example, order has a valid signature, maker has sufficient funds, etc. Default=true. + + +## Properties + +### `Optional` gasLimit + +• **gasLimit**? : *undefined | number* + +*Inherited from [TransactionOpts](#interface-transactionopts).[gasLimit](#optional-gaslimit)* + +*Defined in [contract-wrappers/src/types.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L50)* + +___ + +### `Optional` gasPrice + +• **gasPrice**? : *`BigNumber`* + +*Inherited from [TransactionOpts](#interface-transactionopts).[gasPrice](#optional-gasprice)* + +*Defined in [contract-wrappers/src/types.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L49)* + +___ + +### `Optional` nonce + +• **nonce**? : *undefined | number* + +*Inherited from [TransactionOpts](#interface-transactionopts).[nonce](#optional-nonce)* + +*Defined in [contract-wrappers/src/types.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L51)* + +___ + +### `Optional` shouldValidate + +• **shouldValidate**? : *undefined | false | true* + +*Defined in [contract-wrappers/src/types.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-wrappers/src/types.ts#L59)* + +
+ + + + + + + + + +# Interface: BlockRange + + +## Properties + +### fromBlock + +• **fromBlock**: *[BlockParam](#blockparam)* + +*Defined in [ethereum-types/src/index.ts:740](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L740)* + +___ + +### toBlock + +• **toBlock**: *[BlockParam](#blockparam)* + +*Defined in [ethereum-types/src/index.ts:741](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L741)* + +
+ + + + + +# Interface: CallData + + +## Properties + +### `Optional` data + +• **data**? : *undefined | string* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* + +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* + +___ + +### `Optional` from + +• **from**? : *undefined | string* + +*Defined in [ethereum-types/src/index.ts:402](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L402)* + +___ + +### `Optional` gas + +• **gas**? : *number | string | `BigNumber`* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* + +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* + +___ + +### `Optional` gasPrice + +• **gasPrice**? : *number | string | `BigNumber`* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* + +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* + +___ + +### `Optional` nonce + +• **nonce**? : *undefined | number* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* + +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* + +___ + +### `Optional` to + +• **to**? : *undefined | string* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* + +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* + +___ + +### `Optional` value + +• **value**? : *number | string | `BigNumber`* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* + +*Defined in [ethereum-types/src/index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)* + +
+ + + + + +# Interface: CompilerOpts + + +## Properties + +### name + +• **name**: *"solc"* + +*Defined in [ethereum-types/src/index.ts:655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L655)* + +___ + +### settings + +• **settings**: *[CompilerSettings](#class-compilersettings)* + +*Defined in [ethereum-types/src/index.ts:657](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L657)* + +___ + +### version + +• **version**: *string* + +*Defined in [ethereum-types/src/index.ts:656](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L656)* + +
+ +# Interface: CompilerSettings + + +## Properties + +### `Optional` evmVersion + +• **evmVersion**? : *"homestead" | "tangerineWhistle" | "spuriousDragon" | "byzantium" | "constantinople"* + +*Defined in [ethereum-types/src/index.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L689)* + +___ + +### `Optional` libraries + +• **libraries**? : *undefined | object* + +*Defined in [ethereum-types/src/index.ts:691](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L691)* + +___ + +### `Optional` metadata + +• **metadata**? : *[CompilerSettingsMetadata](#class-compilersettingsmetadata)* + +*Defined in [ethereum-types/src/index.ts:690](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L690)* + +___ + +### `Optional` optimizer + +• **optimizer**? : *[OptimizerSettings](#class-optimizersettings)* + +*Defined in [ethereum-types/src/index.ts:688](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L688)* + +___ + +### outputSelection + +• **outputSelection**: *object* + +*Defined in [ethereum-types/src/index.ts:696](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L696)* + +#### Type declaration: + +● \[▪ **fileName**: *string*\]: object + +● \[▪ **contractName**: *string*\]: [OutputField](#outputfield)[] + +___ + +### `Optional` remappings + +• **remappings**? : *string[]* + +*Defined in [ethereum-types/src/index.ts:687](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L687)* + +
+ +# Interface: CompilerSettingsMetadata + + +## Properties + +### useLiteralContent + +• **useLiteralContent**: *true* + +*Defined in [ethereum-types/src/index.ts:704](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L704)* + +
+ +# Interface: ConstructorAbi + + +## Properties + +### inputs + +• **inputs**: *[DataItem](#class-dataitem)[]* + +*Defined in [ethereum-types/src/index.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L103)* + +___ + +### payable + +• **payable**: *boolean* + +*Defined in [ethereum-types/src/index.ts:104](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L104)* + +___ + +### stateMutability + +• **stateMutability**: *[ConstructorStateMutability](#constructorstatemutability)* + +*Defined in [ethereum-types/src/index.ts:105](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L105)* + +___ + +### type + +• **type**: *string* + +*Defined in [ethereum-types/src/index.ts:102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L102)* + +
+ +# Interface: ContractArtifact + +This type defines the schema of the artifact.json file generated by Sol-compiler +schemaVersion: The version of the artifact schema +contractName: The contract name it represents +networks: Network specific information by network (address, id, constructor args, etc...) +compilerOutput: The Solidity compiler output generated from the specified compiler input +description (http://solidity.readthedocs.io/en/v0.4.24/using-the-compiler.html#compiler-input-and-output-json-description) +compiler: The compiler settings used +sourceCodes: The source code of the contract and all it's dependencies +sources: A mapping from source filePath to sourceMap id +sourceTreeHashHex: A unique hash generated from the contract source and that of it's dependencies. +If any of the sources change, the hash would change notifying us that a re-compilation is necessary + + +## Properties + +### compiler + +• **compiler**: *[CompilerOpts](#class-compileropts)* + +*Inherited from [ContractVersionData](#interface-contractversiondata).[compiler](#compiler)* + +*Defined in [ethereum-types/src/index.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L641)* + +___ + +### compilerOutput + +• **compilerOutput**: *[StandardContractOutput](#class-standardcontractoutput)* + +*Inherited from [ContractVersionData](#interface-contractversiondata).[compilerOutput](#compileroutput)* + +*Defined in [ethereum-types/src/index.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L651)* + +___ + +### contractName + +• **contractName**: *string* + +*Defined in [ethereum-types/src/index.ts:675](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L675)* + +___ + +### networks + +• **networks**: *[ContractNetworks](#class-contractnetworks)* + +*Defined in [ethereum-types/src/index.ts:676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L676)* + +___ + +### schemaVersion + +• **schemaVersion**: *string* + +*Defined in [ethereum-types/src/index.ts:674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L674)* + +___ + +### sourceCodes + +• **sourceCodes**: *object* + +*Inherited from [ContractVersionData](#interface-contractversiondata).[sourceCodes](#sourcecodes)* + +*Defined in [ethereum-types/src/index.ts:647](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L647)* + +#### Type declaration: + +● \[▪ **sourceName**: *string*\]: string + +___ + +### sourceTreeHashHex + +• **sourceTreeHashHex**: *string* + +*Inherited from [ContractVersionData](#interface-contractversiondata).[sourceTreeHashHex](#sourcetreehashhex)* + +*Defined in [ethereum-types/src/index.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L650)* + +___ + +### sources + +• **sources**: *object* + +*Inherited from [ContractVersionData](#interface-contractversiondata).[sources](#sources)* + +*Defined in [ethereum-types/src/index.ts:642](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L642)* + +#### Type declaration: + +● \[▪ **sourceName**: *string*\]: object + +
+ +# Interface: ContractNetworkData + + +## Properties + +### address + +• **address**: *string* + +*Defined in [ethereum-types/src/index.ts:554](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L554)* + +___ + +Args + +• **constructorArgs**: *string* + +*Defined in [ethereum-types/src/index.ts:558](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L558)* + +___ + +### links + +• **links**: *object* + +*Defined in [ethereum-types/src/index.ts:555](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L555)* + +#### Type declaration: + +● \[▪ **linkName**: *string*\]: string + +
+ +# Interface: ContractNetworks + + +## Hierarchy + +* **ContractVersionData** + + * [ContractArtifact](#class-contractartifact) + + +## Properties + +### compiler + +• **compiler**: *[CompilerOpts](#class-compileropts)* + +*Defined in [ethereum-types/src/index.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L641)* + +___ + +### compilerOutput + +• **compilerOutput**: *[StandardContractOutput](#class-standardcontractoutput)* + +*Defined in [ethereum-types/src/index.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L651)* + +___ + +### sourceCodes + +• **sourceCodes**: *object* + +*Defined in [ethereum-types/src/index.ts:647](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L647)* + +#### Type declaration: + +● \[▪ **sourceName**: *string*\]: string + +___ + +### sourceTreeHashHex + +• **sourceTreeHashHex**: *string* + +*Defined in [ethereum-types/src/index.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L650)* + +___ + +### sources + +• **sources**: *object* + +*Defined in [ethereum-types/src/index.ts:642](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L642)* + +#### Type declaration: + +● \[▪ **sourceName**: *string*\]: object + +
+ +# Interface: DataItem + + +## Properties + +### `Optional` components + +• **components**? : *[DataItem](#class-dataitem)[]* + +*Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* + +___ + +### name + +• **name**: *string* + +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* + +___ + +### type + +• **type**: *string* + +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)* + +
+ +# Interface: DecodedLogArgs + + +## Type parameters + +▪ **A** + + +## Properties + +### address + +• **address**: *string* + +*Inherited from [LogEntry](#interface-logentry).[address](#address)* + +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* + +___ + +### args + +• **args**: *`A`* + +*Defined in [ethereum-types/src/index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* + +___ + +### blockHash + +• **blockHash**: *string | null* + +*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* + +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* + +___ + +### blockNumber + +• **blockNumber**: *number | null* + +*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* + +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* + +___ + +### data + +• **data**: *string* + +*Inherited from [LogEntry](#interface-logentry).[data](#data)* + +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* + +___ + +### event + +• **event**: *string* + +*Defined in [ethereum-types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* + +___ + +### logIndex + +• **logIndex**: *number | null* + +*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* + +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* + +___ + +### topics + +• **topics**: *string[]* + +*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* + +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* + +___ + +### transactionHash + +• **transactionHash**: *string* + +*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* + +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* + +___ + +### transactionIndex + +• **transactionIndex**: *number | null* + +*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* + +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)* + +
+ +# Interface: DecodedLogEntryEvent <**A**> + +## Type parameters + +▪ **A** + + +## Properties + +### address + +• **address**: *string* + +*Inherited from [LogEntry](#interface-logentry).[address](#address)* + +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* + +___ + +### args + +• **args**: *`A`* + +*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* + +*Defined in [ethereum-types/src/index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* + +___ + +### blockHash + +• **blockHash**: *string | null* + +*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* + +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* + +___ + +### blockNumber + +• **blockNumber**: *number | null* + +*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* + +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* + +___ + +### data + +• **data**: *string* + +*Inherited from [LogEntry](#interface-logentry).[data](#data)* + +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* + +___ + +### event + +• **event**: *string* + +*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* + +*Defined in [ethereum-types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* + +___ + +### logIndex + +• **logIndex**: *number | null* + +*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* + +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* + +___ + +### removed + +• **removed**: *boolean* + +*Defined in [ethereum-types/src/index.ts:421](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L421)* + +___ + +### topics + +• **topics**: *string[]* + +*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* + +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* + +___ + +### transactionHash + +• **transactionHash**: *string* + +*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* + +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* + +___ + +### transactionIndex + +• **transactionIndex**: *number | null* + +*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* + +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)* + +
+ +# Interface: DevdocOutput + + +## Properties + +### `Optional` author + +• **author**? : *undefined | string* + +*Defined in [ethereum-types/src/index.ts:628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L628)* + +___ + +### methods + +• **methods**: *object* + +*Defined in [ethereum-types/src/index.ts:629](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L629)* + +#### Type declaration: + +● \[▪ **signature**: *string*\]: object + +___ + +### `Optional` title + +• **title**? : *undefined | string* + +*Defined in [ethereum-types/src/index.ts:627](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L627)* + +
+ +# Interface: EIP1193Provider + + +## Properties + +### isEIP1193 + +• **isEIP1193**: *boolean* + +*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* + +## Methods + +### on + +▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* + +*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* + +**Parameters:** + +▪ **event**: *[EIP1193Event](#eip1193event)* + +▪ **listener**: *function* + +▸ (`result`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`result` | any | + +**Returns:** *this* + +___ + +### send + +▸ **send**(`method`: string, `params?`: any[]): *`Promise`* + +*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* + +**Parameters:** + +Name | Type | +------ | ------ | +`method` | string | +`params?` | any[] | + +**Returns:** *`Promise`* + +
+ + + + + +# Interface: EvmBytecodeOutput + + +## Properties + +### object + +• **object**: *string* + +*Defined in [ethereum-types/src/index.ts:622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L622)* + +___ + +### sourceMap + +• **sourceMap**: *string* + +*Defined in [ethereum-types/src/index.ts:623](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L623)* + +
+ +# Interface: EvmOutput + + +## Properties + +### bytecode + +• **bytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* + +*Defined in [ethereum-types/src/index.ts:617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L617)* + +___ + +### deployedBytecode + +• **deployedBytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* + +*Defined in [ethereum-types/src/index.ts:618](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L618)* + +
+ +# Interface: FallbackAbi + + +## Properties + +### payable + +• **payable**: *boolean* + +*Defined in [ethereum-types/src/index.ts:112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L112)* + +___ + +### type + +• **type**: *string* + +*Defined in [ethereum-types/src/index.ts:111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L111)* + +
+ + + +# Interface: GanacheProvider + + +## Methods + +### sendAsync + +▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* + +*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* + +**Parameters:** + +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | + +**Returns:** *void* + +
+ + + +# Interface: JSONRPCRequestPayload + + +## Properties + +### id + +• **id**: *number* + +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* + +___ + +### jsonrpc + +• **jsonrpc**: *string* + +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* + +___ + +### method + +• **method**: *string* + +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* + +___ + +### params + +• **params**: *any[]* + +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)* + +
+ +# Interface: JSONRPCResponseError + + +## Properties + +### code + +• **code**: *number* + +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* + +___ + +### message + +• **message**: *string* + +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)* + +
+ +# Interface: JSONRPCResponsePayload + + +## Properties + +### `Optional` error + +• **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* + +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* + +___ + +### id + +• **id**: *number* + +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* + +___ + +### jsonrpc + +• **jsonrpc**: *string* + +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* + +___ + +### result + +• **result**: *any* + +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)* + +
+ +# Interface: LogEntry + + +## Properties + +### address + +• **address**: *string* + +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* + +___ + +### blockHash + +• **blockHash**: *string | null* + +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* + +___ + +### blockNumber + +• **blockNumber**: *number | null* + +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* + +___ + +### data + +• **data**: *string* + +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* + +___ + +### logIndex + +• **logIndex**: *number | null* + +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* + +___ + +### topics + +• **topics**: *string[]* + +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* + +___ + +### transactionHash + +• **transactionHash**: *string* + +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* + +___ -▸ **fillOrderAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +### transactionIndex -*Defined in [coordinator_wrapper.ts:101](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L101)* +• **transactionIndex**: *number | null* -Fills a signed order with an amount denominated in baseUnits of the taker asset. Under-the-hood, this -method uses the `feeRecipientAddress` of the order to look up the coordinator server endpoint registered in the -coordinator registry contract. It requests a signature from that coordinator server before -submitting the order and signature as a 0x transaction to the coordinator extension contract. The coordinator extension -contract validates signatures and then fills the order via the Exchange contract. +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)* -**Parameters:** +
-Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrder` | `SignedOrder` | - | An object that conforms to the SignedOrder interface. | -`takerAssetFillAmount` | `BigNumber` | - | The amount of the order (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill this order. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +# Interface: LogEntryEvent -**Returns:** *`Promise`* -Transaction hash. +## Properties -___ +### address -### fillOrderNoThrowAsync +• **address**: *string* -▸ **fillOrderNoThrowAsync**(`signedOrder`: `SignedOrder`, `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +*Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [coordinator_wrapper.ts:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L133)* +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* -No-throw version of fillOrderAsync. This version will not throw if the fill fails. This allows the caller to save gas at the expense of not knowing the reason the fill failed. +___ -**Parameters:** +### blockHash -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrder` | `SignedOrder` | - | An object that conforms to the SignedOrder interface. | -`takerAssetFillAmount` | `BigNumber` | - | The amount of the order (in taker asset baseUnits) that you wish to fill. | -`takerAddress` | string | - | The user Ethereum address who would like to fill this order. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +• **blockHash**: *string | null* -**Returns:** *`Promise`* +*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -Transaction hash. +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ -### getSignerAddressAsync +### blockNumber -▸ **getSignerAddressAsync**(`hash`: string, `signature`: string): *`Promise`* +• **blockNumber**: *number | null* -*Defined in [coordinator_wrapper.ts:669](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L669)* +*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -Recovers the address of a signer given a hash and signature. +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* -**Parameters:** +___ -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | Any 32 byte hash. | -`signature` | string | Proof that the hash has been signed by signer. | +### data -**Returns:** *`Promise`* +• **data**: *string* -Signer address. +*Inherited from [LogEntry](#interface-logentry).[data](#data)* + +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ -### hardCancelOrderAsync +### logIndex -▸ **hardCancelOrderAsync**(`order`: `Order` | `SignedOrder`, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +• **logIndex**: *number | null* -*Defined in [coordinator_wrapper.ts:536](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L536)* +*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -Cancels an order on-chain by submitting an Ethereum transaction. +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* -**Parameters:** +___ -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`order` | `Order` \| `SignedOrder` | - | An object that conforms to the Order or SignedOrder interface. The order you would like to cancel. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +### removed -**Returns:** *`Promise`* +• **removed**: *boolean* -Transaction hash. +*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L425)* ___ -### hardCancelOrdersUpToAsync +### topics -▸ **hardCancelOrdersUpToAsync**(`targetOrderEpoch`: `BigNumber`, `senderAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +• **topics**: *string[]* -*Defined in [coordinator_wrapper.ts:603](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L603)* +*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -Cancels orders on-chain by submitting an Ethereum transaction. -Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch -and senderAddress equal to coordinator extension contract address. +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* -**Parameters:** +___ -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`targetOrderEpoch` | `BigNumber` | - | Target order epoch. | -`senderAddress` | string | - | Address that should send the transaction. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +### transactionHash -**Returns:** *`Promise`* +• **transactionHash**: *string* -Transaction hash. +*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* + +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ -### marketBuyOrdersAsync +### transactionIndex -▸ **marketBuyOrdersAsync**(`signedOrders`: `SignedOrder`[], `makerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +• **transactionIndex**: *number | null* -*Defined in [coordinator_wrapper.ts:313](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L313)* +*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -Synchronously executes multiple calls to fillOrder until total amount of makerAsset is bought by taker. -Under-the-hood, this method uses the `feeRecipientAddress`s of the orders to looks up the coordinator server endpoints -registered in the coordinator registry contract. It requests a signature from each coordinator server before -submitting the orders and signatures as a 0x transaction to the coordinator extension contract, which validates the -signatures and then fills the order through the Exchange contract. -If any `feeRecipientAddress` in the batch is not registered to a coordinator server, the whole batch fails. +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)* -**Parameters:** +
-Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`makerAssetFillAmount` | `BigNumber` | - | Maker asset fill amount. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +# Interface: LogWithDecodedArgs <**ArgsType**> -**Returns:** *`Promise`* +## Type parameters -Transaction hash. +▪ **ArgsType**: *[DecodedLogArgs](#class-decodedlogargs)* -___ -### marketBuyOrdersNoThrowAsync +## Properties -▸ **marketBuyOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `makerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +### address -*Defined in [coordinator_wrapper.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L384)* +• **address**: *string* -No throw version of marketBuyOrdersAsync +*Inherited from [LogEntry](#interface-logentry).[address](#address)* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`makerAssetFillAmount` | `BigNumber` | - | Maker asset fill amount. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +___ -**Returns:** *`Promise`* +### args -Transaction hash. +• **args**: *`ArgsType`* + +*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* + +*Defined in [ethereum-types/src/index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* ___ -### marketSellOrdersAsync +### blockHash -▸ **marketSellOrdersAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +• **blockHash**: *string | null* -*Defined in [coordinator_wrapper.ts:351](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L351)* +*Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -Synchronously executes multiple calls to fillOrder until total amount of makerAsset is bought by taker. -Under-the-hood, this method uses the `feeRecipientAddress`s of the orders to looks up the coordinator server endpoints -registered in the coordinator registry contract. It requests a signature from each coordinator server before -submitting the orders and signatures as a 0x transaction to the coordinator extension contract, which validates the -signatures and then fills the order through the Exchange contract. -If any `feeRecipientAddress` in the batch is not registered to a coordinator server, the whole batch fails. +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* -**Parameters:** +___ -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmount` | `BigNumber` | - | Taker asset fill amount. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +### blockNumber -**Returns:** *`Promise`* +• **blockNumber**: *number | null* -Transaction hash. +*Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* + +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ -### marketSellOrdersNoThrowAsync +### data -▸ **marketSellOrdersNoThrowAsync**(`signedOrders`: `SignedOrder`[], `takerAssetFillAmount`: `BigNumber`, `takerAddress`: string, `orderTransactionOpts`: [OrderTransactionOpts](#interface-ordertransactionopts)): *`Promise`* +• **data**: *string* -*Defined in [coordinator_wrapper.ts:417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L417)* +*Inherited from [LogEntry](#interface-logentry).[data](#data)* -No throw version of marketSellOrdersAsync +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* -**Parameters:** +___ -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`signedOrders` | `SignedOrder`[] | - | An array of signed orders to fill. | -`takerAssetFillAmount` | `BigNumber` | - | Taker asset fill amount. | -`takerAddress` | string | - | The user Ethereum address who would like to fill these orders. Must be available via the supplied Provider provided at instantiation. | -`orderTransactionOpts` | [OrderTransactionOpts](#interface-ordertransactionopts) | { shouldValidate: true } | Optional arguments this method accepts. | +### event -**Returns:** *`Promise`* +• **event**: *string* -Transaction hash. +*Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* -___ +*Defined in [ethereum-types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* -### softCancelOrderAsync +___ -▸ **softCancelOrderAsync**(`order`: `Order` | `SignedOrder`): *`Promise`* +### logIndex -*Defined in [coordinator_wrapper.ts:447](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/coordinator_wrapper.ts#L447)* +• **logIndex**: *number | null* -Soft cancel a given order. -Soft cancels are recorded only on coordinator operator servers and do not involve an Ethereum transaction. -See [soft cancels](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#soft-cancels). +*Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* -Name | Type | Description | ------- | ------ | ------ | -`order` | `Order` \| `SignedOrder` | An object that conforms to the Order or SignedOrder interface. The order you would like to cancel. | +___ -**Returns:** *`Promise`* +### topics -CoordinatorServerCancellationResponse. See [Cancellation Response](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/coordinator-specification.md#response). +• **topics**: *string[]* -
+*Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -# Class: IWalletContract +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* +___ -## Constructors +### transactionHash +• **transactionHash**: *string* +*Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -\+ **new IWalletContract**(`address`: string, `supportedProvider`: `SupportedProvider`, `txDefaults?`: `Partial`, `logDecodeDependencies?`: undefined | object): *[IWalletContract](#class-iwalletcontract)* +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* -*Overrides void* +___ -*Defined in [generated-wrappers/i_wallet.ts:206](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L206)* +### transactionIndex -**Parameters:** +• **transactionIndex**: *number | null* -Name | Type | ------- | ------ | -`address` | string | -`supportedProvider` | `SupportedProvider` | -`txDefaults?` | `Partial` | -`logDecodeDependencies?` | undefined \| object | +*Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -**Returns:** *[IWalletContract](#class-iwalletcontract)* +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)* -## Properties +
-### abi +# Interface: MethodAbi -• **abi**: *`ContractAbi`* +## Properties +### constant +• **constant**: *boolean* +*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L94)* ___ -### address +### inputs -• **address**: *string* +• **inputs**: *[DataItem](#class-dataitem)[]* + +*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L92)* +___ +### name +• **name**: *string* +*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L91)* ___ -Args +### outputs -• **constructorArgs**: *any[]* +• **outputs**: *[DataItem](#class-dataitem)[]* + +*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L93)* +___ +### payable +• **payable**: *boolean* +*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L96)* ___ -### contractName +### stateMutability -• **contractName**: *string* +• **stateMutability**: *[StateMutability](#statemutability)* +*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L95)* +___ +### type +• **type**: *string* -## Methods +*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L90)* -### evmExecAsync +
-▸ **evmExecAsync**(`input`: `Buffer`): *`Promise`* +# Interface: OptimizerSettings +## Properties +### enabled +• **enabled**: *boolean* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:708](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L708)* -Name | Type | ------- | ------ | -`input` | `Buffer` | +___ -**Returns:** *`Promise`* +### `Optional` runs -___ +• **runs**? : *undefined | number* -### `Static` ABI +*Defined in [ethereum-types/src/index.ts:709](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L709)* -▸ **ABI**(): *`ContractAbi`* +
-*Defined in [generated-wrappers/i_wallet.ts:179](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L179)* -**Returns:** *`ContractAbi`* -The contract ABI -___ -### `Static` deployAsync +# Interface: RevertErrorAbi -▸ **deployAsync**(`bytecode`: string, `abi`: `ContractAbi`, `supportedProvider`: `SupportedProvider`, `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* -*Defined in [generated-wrappers/i_wallet.ts:137](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L137)* +## Properties -**Parameters:** +### `Optional` arguments -Name | Type | ------- | ------ | -`bytecode` | string | -`abi` | `ContractAbi` | -`supportedProvider` | `SupportedProvider` | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +• **arguments**? : *[DataItem](#class-dataitem)[]* -**Returns:** *`Promise`* +*Defined in [ethereum-types/src/index.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L122)* ___ -### `Static` deployFrom0xArtifactAsync +### name -▸ **deployFrom0xArtifactAsync**(`artifact`: `ContractArtifact` | `SimpleContractArtifact`, `supportedProvider`: `SupportedProvider`, `txDefaults`: `Partial`, `logDecodeDependencies`: object): *`Promise`* +• **name**: *string* -*Defined in [generated-wrappers/i_wallet.ts:112](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L112)* +*Defined in [ethereum-types/src/index.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L121)* -**Parameters:** +___ -Name | Type | ------- | ------ | -`artifact` | `ContractArtifact` \| `SimpleContractArtifact` | -`supportedProvider` | `SupportedProvider` | -`txDefaults` | `Partial` | -`logDecodeDependencies` | object | +### type -**Returns:** *`Promise`* +• **type**: *"error"* -___ +*Defined in [ethereum-types/src/index.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L120)* -### `Static` strictArgumentEncodingCheck +
-▸ **strictArgumentEncodingCheck**(`inputAbi`: `DataItem`[], `args`: any[]): *string* -**Parameters:** -Name | Type | ------- | ------ | -`inputAbi` | `DataItem`[] | -`args` | any[] | +# Interface: StandardContractOutput -**Returns:** *string* -## Object literals +## Properties -### isValidSignature +### abi -#### ▪ **isValidSignature**: *object* +• **abi**: *[ContractAbi](#contractabi)* -*Defined in [generated-wrappers/i_wallet.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L33)* +*Defined in [ethereum-types/src/index.ts:564](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L564)* -Verifies that a signature is valid. +___ -#### callAsync +### `Optional` devdoc -▸ **callAsync**(`hash`: string, `signature`: string, `callData`: `Partial`, `defaultBlock?`: `BlockParam`): *`Promise`* +• **devdoc**? : *[DevdocOutput](#class-devdocoutput)* -*Defined in [generated-wrappers/i_wallet.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L42)* +*Defined in [ethereum-types/src/index.ts:566](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L566)* -Sends a read-only call to the contract method. Returns the result that would happen if one were to send an -Ethereum transaction to this method, given the current state of the blockchain. Calls do not cost gas -since they don't modify state. +___ -**Parameters:** +### evm -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`hash` | string | - | Message hash that is signed. | -`signature` | string | - | Proof of signing. | -`callData` | `Partial` | {} | - | -`defaultBlock?` | `BlockParam` | - | - | +• **evm**: *[EvmOutput](#class-evmoutput)* -**Returns:** *`Promise`* +*Defined in [ethereum-types/src/index.ts:565](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L565)* -Magic bytes4 value if the signature is valid. Magic value is bytes4(keccak256("isValidWalletSignature(bytes32,address,bytes)")) +
-#### getABIDecodedReturnData -▸ **getABIDecodedReturnData**(`returnData`: string): *string* -*Defined in [generated-wrappers/i_wallet.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L104)* -**Parameters:** -Name | Type | ------- | ------ | -`returnData` | string | -**Returns:** *string* -#### getABIDecodedTransactionData -▸ **getABIDecodedTransactionData**(`callData`: string): *string* -*Defined in [generated-wrappers/i_wallet.ts:97](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L97)* -**Parameters:** -Name | Type | ------- | ------ | -`callData` | string | -**Returns:** *string* -#### getABIEncodedTransactionData -▸ **getABIEncodedTransactionData**(`hash`: string, `signature`: string): *string* -*Defined in [generated-wrappers/i_wallet.ts:87](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/generated-wrappers/i_wallet.ts#L87)* +# Interface: TupleDataItem -Returns the ABI encoded transaction data needed to send an Ethereum transaction calling this method. Before -sending the Ethereum tx, this encoded tx data can first be sent to a separate signing service or can be used -to create a 0x transaction (see protocol spec for more details). -**Parameters:** +## Properties + +### components -Name | Type | Description | ------- | ------ | ------ | -`hash` | string | Message hash that is signed. | -`signature` | string | Proof of signing. | +• **components**: *[DataItem](#class-dataitem)[]* -**Returns:** *string* +*Overrides [DataItem](_ethereum_types_src_index_.dataitem.md).[components](#optional-components)* -
+*Defined in [ethereum-types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L141)* -# Class: CoordinatorServerError +___ +### name -## Constructors +• **name**: *string* +*Inherited from [DataItem](#interface-dataitem).[name](#name)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* -\+ **new CoordinatorServerError**(`message`: [CoordinatorServerErrorMsg](#enumeration-coordinatorservererrormsg), `approvedOrders`: `SignedOrder`[], `cancellations`: [CoordinatorServerCancellationResponse](#interface-coordinatorservercancellationresponse)[], `errors`: [CoordinatorServerResponse](#interface-coordinatorserverresponse)[]): *[CoordinatorServerError](#class-coordinatorservererror)* +___ -*Defined in [utils/coordinator_server_types.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L43)* +### type -**Parameters:** +• **type**: *string* -Name | Type | ------- | ------ | -`message` | [CoordinatorServerErrorMsg](#enumeration-coordinatorservererrormsg) | -`approvedOrders` | `SignedOrder`[] | -`cancellations` | [CoordinatorServerCancellationResponse](#interface-coordinatorservercancellationresponse)[] | -`errors` | [CoordinatorServerResponse](#interface-coordinatorserverresponse)[] | +*Inherited from [DataItem](#interface-dataitem).[type](#type)* -**Returns:** *[CoordinatorServerError](#class-coordinatorservererror)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)* -## Properties +
-#### `Optional` approvedOrders +# Interface: TxData -• **approvedOrders**? : *`SignedOrder`[]* = [] -*Defined in [utils/coordinator_server_types.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L41)* +## Properties -___ +### `Optional` data -### `Optional` cancellations +• **data**? : *undefined | string* -• **cancellations**? : *[CoordinatorServerCancellationResponse](#interface-coordinatorservercancellationresponse)[]* = [] +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [utils/coordinator_server_types.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L42)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ -### errors +### from -• **errors**: *[CoordinatorServerResponse](#interface-coordinatorserverresponse)[]* +• **from**: *string* -*Defined in [utils/coordinator_server_types.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L43)* +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ -### message +### `Optional` gas -• **message**: *[CoordinatorServerErrorMsg](#enumeration-coordinatorservererrormsg)* +• **gas**? : *number | string | `BigNumber`* -*Overrides void* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [utils/coordinator_server_types.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L40)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ -### name +### `Optional` gasPrice -• **name**: *string* +• **gasPrice**? : *number | string | `BigNumber`* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* +___ +### `Optional` nonce -___ +• **nonce**? : *undefined | number* -### `Optional` stack +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -• **stack**? : *undefined | string* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* +___ +### `Optional` to -*Overrides void* +• **to**? : *undefined | string* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ -### `Static` Error +### `Optional` value -▪ **Error**: *`ErrorConstructor`* +• **value**? : *number | string | `BigNumber`* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* +*Defined in [ethereum-types/src/index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)*
-# Enumeration: ContractError +# Interface: TxDataPayable -## Enumeration members +## Properties -### ContractNotDeployedOnNetwork +### `Optional` data -• **ContractNotDeployedOnNetwork**: = "CONTRACT_NOT_DEPLOYED_ON_NETWORK" +• **data**? : *undefined | string* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [types.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L32)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ -### ERC721NoApproval +### from -• **ERC721NoApproval**: = "ERC_721_NO_APPROVAL" +• **from**: *string* -*Defined in [types.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L42)* +*Inherited from [TxData](#interface-txdata).[from](#from)* + +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ -### ERC721OwnerNotFound +### `Optional` gas -• **ERC721OwnerNotFound**: = "ERC_721_OWNER_NOT_FOUND" +• **gas**? : *number | string | `BigNumber`* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [types.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L41)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ -### InsufficientAllowanceForTransfer +### `Optional` gasPrice -• **InsufficientAllowanceForTransfer**: = "INSUFFICIENT_ALLOWANCE_FOR_TRANSFER" +• **gasPrice**? : *number | string | `BigNumber`* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [types.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L33)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ -### InsufficientBalanceForTransfer +### `Optional` nonce -• **InsufficientBalanceForTransfer**: = "INSUFFICIENT_BALANCE_FOR_TRANSFER" +• **nonce**? : *undefined | number* -*Defined in [types.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L34)* +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* + +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ -### InsufficientEthBalanceForDeposit +### `Optional` to -• **InsufficientEthBalanceForDeposit**: = "INSUFFICIENT_ETH_BALANCE_FOR_DEPOSIT" +• **to**? : *undefined | string* + +*Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [types.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L35)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ -### InsufficientWEthBalanceForWithdrawal +### `Optional` value -• **InsufficientWEthBalanceForWithdrawal**: = "INSUFFICIENT_WETH_BALANCE_FOR_WITHDRAWAL" +• **value**? : *`BigNumber`* -*Defined in [types.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L36)* +*Overrides [CallTxDataBase](_ethereum_types_src_index_.calltxdatabase.md).[value](#optional-value)* -___ +*Defined in [ethereum-types/src/index.ts:442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L442)* -### InvalidJump +
-• **InvalidJump**: = "INVALID_JUMP" +# Interface: Web3JsV1Provider -*Defined in [types.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L37)* +Web3.js version 1 provider interface +This provider interface was implemented in the pre-1.0Beta releases for Web3.js. +This interface allowed sending synchonous requests, support for which was later dropped. -___ -### OutOfGas +## Methods -• **OutOfGas**: = "OUT_OF_GAS" +### send -*Defined in [types.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L38)* +▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -___ +*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* -### SignatureRequestDenied +**Parameters:** -• **SignatureRequestDenied**: = "SIGNATURE_REQUEST_DENIED" +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | -*Defined in [types.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L43)* +**Returns:** *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* ___ -### SubscriptionAlreadyPresent - -• **SubscriptionAlreadyPresent**: = "SUBSCRIPTION_ALREADY_PRESENT" +### sendAsync -*Defined in [types.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L40)* +▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -___ +*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* -### SubscriptionNotFound +**Parameters:** -• **SubscriptionNotFound**: = "SUBSCRIPTION_NOT_FOUND" +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | -*Defined in [types.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L39)* +**Returns:** *void*
-# Enumeration: ForwarderError +# Interface: Web3JsV2Provider +Web3.js version 2 provider interface +This provider interface was used in a couple of Web3.js 1.0 beta releases +before the first attempts to conform to EIP1193 -## Enumeration members -### CompleteFillFailed +## Methods -• **CompleteFillFailed**: = "COMPLETE_FILL_FAILED" +### send + +▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* + +*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* + +**Parameters:** + +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | -*Defined in [types.ts:28](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L28)* +**Returns:** *void*
-# Enumeration: OrderStatus +# Interface: Web3JsV3Provider +Web3.js version 3 provider interface +This provider interface was implemented with the hopes for conforming to the EIP1193 spec, +however it does not conform entirely. -## Enumeration members -### Cancelled +## Methods -• **Cancelled**: +### send -*Defined in [types.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L91)* +▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -___ +*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* -### Expired +**Parameters:** -• **Expired**: +Name | Type | +------ | ------ | +`method` | string | +`params?` | any[] | -*Defined in [types.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L89)* +**Returns:** *`Promise`* -___ +
-### Fillable +# Interface: ZeroExProvider -• **Fillable**: +The interface for the provider used internally by 0x libraries +Any property we use from any SupportedProvider should we explicitly +add here -*Defined in [types.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L88)* -___ +## Properties -### FullyFilled +### `Optional` isMetaMask -• **FullyFilled**: +• **isMetaMask**? : *undefined | false | true* -*Defined in [types.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L90)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ -### Invalid +### `Optional` isParity -• **Invalid**: = 0 +• **isParity**? : *undefined | false | true* -*Defined in [types.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L85)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ -### InvalidMakerAssetAmount +### `Optional` isZeroExProvider -• **InvalidMakerAssetAmount**: +• **isZeroExProvider**? : *undefined | false | true* -*Defined in [types.ts:86](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L86)* +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* -___ +## Methods -### InvalidTakerAssetAmount +### `Optional` enable -• **InvalidTakerAssetAmount**: +▸ **enable**(): *`Promise`* -*Defined in [types.ts:87](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L87)* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* -
+**Returns:** *`Promise`* -# Enumeration: CoordinatorServerErrorMsg +___ +### sendAsync -## Enumeration members +▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -### CancellationFailed +*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* + +**Parameters:** -• **CancellationFailed**: = "Failed to cancel with some coordinator server(s). See errors for more info. See cancellations for successful cancellations." +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | -*Defined in [utils/coordinator_server_types.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L59)* +**Returns:** *void* ___ -### FillFailed +### `Optional` stop + +▸ **stop**(): *void* -• **FillFailed**: = "Failed to obtain approval signatures from some coordinator server(s). See errors for more info. Current transaction has been abandoned but you may resubmit with only approvedOrders (a new ZeroEx transaction will have to be signed)." +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* -*Defined in [utils/coordinator_server_types.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L60)* +**Returns:** *void*
-# Enumeration: ContractError -## Enumeration members -### ContractNotDeployedOnNetwork -• **ContractNotDeployedOnNetwork**: = "CONTRACT_NOT_DEPLOYED_ON_NETWORK" -*Defined in [utils/decorators.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L4)* -___ -### ERC721NoApproval -• **ERC721NoApproval**: = "ERC_721_NO_APPROVAL" -*Defined in [utils/decorators.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L14)* -___ -### ERC721OwnerNotFound -• **ERC721OwnerNotFound**: = "ERC_721_OWNER_NOT_FOUND" -*Defined in [utils/decorators.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L13)* -___ -### InsufficientAllowanceForTransfer -• **InsufficientAllowanceForTransfer**: = "INSUFFICIENT_ALLOWANCE_FOR_TRANSFER" -*Defined in [utils/decorators.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L5)* -___ -### InsufficientBalanceForTransfer -• **InsufficientBalanceForTransfer**: = "INSUFFICIENT_BALANCE_FOR_TRANSFER" +# Interface: DecodedLogEvent <**ArgsType**> -*Defined in [utils/decorators.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L6)* +## Type parameters -___ +▪ **ArgsType**: *`DecodedLogArgs`* -### InsufficientEthBalanceForDeposit -• **InsufficientEthBalanceForDeposit**: = "INSUFFICIENT_ETH_BALANCE_FOR_DEPOSIT" +## Properties -*Defined in [utils/decorators.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L7)* +### isRemoved + +• **isRemoved**: *boolean* + +*Defined in [types/src/index.ts:853](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L853)* ___ -### InsufficientWEthBalanceForWithdrawal +### log -• **InsufficientWEthBalanceForWithdrawal**: = "INSUFFICIENT_WETH_BALANCE_FOR_WITHDRAWAL" +• **log**: *`LogWithDecodedArgs`* -*Defined in [utils/decorators.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L8)* +*Defined in [types/src/index.ts:854](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L854)* + +
-___ -### InvalidJump -• **InvalidJump**: = "INVALID_JUMP" -*Defined in [utils/decorators.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L9)* -___ -### OutOfGas -• **OutOfGas**: = "OUT_OF_GAS" -*Defined in [utils/decorators.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L10)* + +# Interface: EIP712DomainWithDefaultSchema + + +## Properties + +### chainId + +• **chainId**: *number* + +*Defined in [types/src/index.ts:802](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L802)* ___ -### SignatureRequestDenied +### `Optional` name -• **SignatureRequestDenied**: = "SIGNATURE_REQUEST_DENIED" +• **name**? : *undefined | string* -*Defined in [utils/decorators.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L15)* +*Defined in [types/src/index.ts:800](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L800)* ___ -### SubscriptionAlreadyPresent +### verifyingContract -• **SubscriptionAlreadyPresent**: = "SUBSCRIPTION_ALREADY_PRESENT" +• **verifyingContract**: *string* -*Defined in [utils/decorators.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L12)* +*Defined in [types/src/index.ts:803](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L803)* ___ -### SubscriptionNotFound +### `Optional` version -• **SubscriptionNotFound**: = "SUBSCRIPTION_NOT_FOUND" +• **version**? : *undefined | string* -*Defined in [utils/decorators.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L11)* +*Defined in [types/src/index.ts:801](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L801)*
-## Functions -### getAbiEncodedTransactionData -▸ **getAbiEncodedTransactionData**<**K**>(`contractInstance`: `ExchangeContract`, `methodName`: `K`, ...`params`: any[]): *string* -*Defined in [utils/getAbiEncodedTransactionData.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/getAbiEncodedTransactionData.ts#L8)* -Returns the ABI encoded transaction hash for a given method and arguments -**Type parameters:** -▪ **K**: *keyof ExchangeContract* -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`contractInstance` | `ExchangeContract` | - | -`methodName` | `K` | Must be a valid name of a function in the Solidity Exchange Contract | -`...params` | any[] | The appropriate arguments for the method given, in order | -**Returns:** *string* -
-# Interface: ContractWrappersConfig -networkId: The id of the underlying ethereum network your provider is connected to. (1-mainnet, 3-ropsten, 4-rinkeby, 42-kovan, 50-testrpc) -gasPrice: Gas price to use with every transaction -contractAddresses: The address of all contracts to use. Defaults to the known addresses based on networkId. -blockPollingIntervalMs: The interval to use for block polling in event watching methods (defaults to 1000) -## Properties -### `Optional` blockPollingIntervalMs + -• **blockPollingIntervalMs**? : *undefined | number* -*Defined in [types.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L56)* -___ -### `Optional` contractAddresses -• **contractAddresses**? : *`ContractAddresses`* +# Interface: IndexedFilterValues + + +## Hierarchy + +* **IndexSignature** + + +## Properties + +### keyName + +• **keyName**: *string* -*Defined in [types.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L55)* +*Defined in [types/src/index.ts:679](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L679)* ___ -### `Optional` gasPrice +### keyType -• **gasPrice**? : *`BigNumber`* +• **keyType**: *[Type](#class-type)* -*Defined in [types.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L54)* +*Defined in [types/src/index.ts:680](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L680)* ___ -### networkId +### valueName -• **networkId**: *number* +• **valueName**: *string* -*Defined in [types.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L53)* +*Defined in [types/src/index.ts:681](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L681)*
-# Interface: DecodedLogEvent <**ArgsType**> - -## Type parameters -▪ **ArgsType**: *`DecodedLogArgs`* -## Properties -### isRemoved -• **isRemoved**: *boolean* -*Defined in [types.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L7)* -___ -### log -• **log**: *`LogWithDecodedArgs`* -*Defined in [types.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L8)* -
-# Interface: IndexedFilterValues -## Hierarchy -* **OrderAndTraderInfo** -## Properties -### orderInfo -• **orderInfo**: *[OrderInfo](#interface-orderinfo)* -*Defined in [types.ts:106](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L106)* -___ -### traderInfo -• **traderInfo**: *[TraderInfo](#interface-traderinfo)* -*Defined in [types.ts:107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L107)* -
-# Interface: OrderInfo -## Properties -### orderHash -• **orderHash**: *string* -*Defined in [types.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L80)* -___ -### orderStatus -• **orderStatus**: *[OrderStatus](#enumeration-orderstatus)* -*Defined in [types.ts:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L79)* -___ -### orderTakerAssetFilledAmount -• **orderTakerAssetFilledAmount**: *`BigNumber`* -*Defined in [types.ts:81](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L81)* -
-# Interface: OrderTransactionOpts -shouldValidate: Flag indicating whether the library should make attempts to validate a transaction before -broadcasting it. For example, order has a valid signature, maker has sufficient funds, etc. Default=true. +# Interface: SignedOrder ## Properties -### `Optional` gasLimit +### chainId -• **gasLimit**? : *undefined | number* +• **chainId**: *number* -*Inherited from [TransactionOpts](#interface-transactionopts).[gasLimit](#optional-gaslimit)* +*Inherited from [Order](#interface-order).[chainId](#chainid)* -*Defined in [types.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L66)* +*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L14)* ___ -### `Optional` gasPrice +### exchangeAddress -• **gasPrice**? : *`BigNumber`* +• **exchangeAddress**: *string* -*Inherited from [TransactionOpts](#interface-transactionopts).[gasPrice](#optional-gasprice)* +*Inherited from [Order](#interface-order).[exchangeAddress](#exchangeaddress)* -*Defined in [types.ts:65](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L65)* +*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L15)* ___ -### `Optional` nonce +### expirationTimeSeconds -• **nonce**? : *undefined | number* +• **expirationTimeSeconds**: *`BigNumber`* -*Inherited from [TransactionOpts](#interface-transactionopts).[nonce](#optional-nonce)* +*Inherited from [Order](#interface-order).[expirationTimeSeconds](#expirationtimeseconds)* -*Defined in [types.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L67)* +*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L24)* ___ -### `Optional` shouldValidate +### feeRecipientAddress -• **shouldValidate**? : *undefined | false | true* +• **feeRecipientAddress**: *string* -*Defined in [types.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L75)* +*Inherited from [Order](#interface-order).[feeRecipientAddress](#feerecipientaddress)* -
+*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L18)* +___ +### makerAddress +• **makerAddress**: *string* +*Inherited from [Order](#interface-order).[makerAddress](#makeraddress)* -# Class: ContractWrappers +*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L16)* -The ContractWrappers class contains smart contract wrappers helpful when building on 0x protocol. +___ + +### makerAssetAmount + +• **makerAssetAmount**: *`BigNumber`* + +*Inherited from [Order](#interface-order).[makerAssetAmount](#makerassetamount)* + +*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L20)* + +___ + +### makerAssetData + +• **makerAssetData**: *string* + +*Inherited from [Order](#interface-order).[makerAssetData](#makerassetdata)* + +*Defined in [types/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L26)* + +___ + +### makerFee + +• **makerFee**: *`BigNumber`* + +*Inherited from [Order](#interface-order).[makerFee](#makerfee)* +*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L22)* -## Constructors +___ +### makerFeeAssetData +• **makerFeeAssetData**: *string* -\+ **new ContractWrappers**(`supportedProvider`: `SupportedProvider`, `config`: [ContractWrappersConfig](#interface-contractwrappersconfig)): *[ContractWrappers](#class-contractwrappers)* +*Inherited from [Order](#interface-order).[makerFeeAssetData](#makerfeeassetdata)* -*Defined in [contract_wrappers.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L84)* +*Defined in [types/src/index.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L28)* -Instantiates a new ContractWrappers instance. +___ -**Parameters:** +### salt -Name | Type | Description | ------- | ------ | ------ | -`supportedProvider` | `SupportedProvider` | The Provider instance you would like the contract-wrappers library to use for interacting with the Ethereum network. | -`config` | [ContractWrappersConfig](#interface-contractwrappersconfig) | The configuration object. Look up the type for the description. | +• **salt**: *`BigNumber`* -**Returns:** *[ContractWrappers](#class-contractwrappers)* +*Inherited from [Order](#interface-order).[salt](#salt)* -An instance of the ContractWrappers class. +*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L25)* -## Properties +___ -### contractAddresses +### senderAddress -• **contractAddresses**: *`ContractAddresses`* +• **senderAddress**: *string* -*Defined in [contract_wrappers.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L43)* +*Inherited from [Order](#interface-order).[senderAddress](#senderaddress)* -An index of the default contract addresses for this network. +*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L19)* ___ -### coordinator - -• **coordinator**: *[CoordinatorWrapper](#class-coordinatorwrapper)* +### signature -*Defined in [contract_wrappers.ts:82](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L82)* +• **signature**: *string* -An instance of the CoordinatorWrapper class containing methods for interacting with the Coordinator extension contract. +*Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L33)* ___ -### devUtils +### takerAddress -• **devUtils**: *`DevUtilsContract`* +• **takerAddress**: *string* -*Defined in [contract_wrappers.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L78)* +*Inherited from [Order](#interface-order).[takerAddress](#takeraddress)* -An instance of the DevUtilsContract class containing methods for interacting with the DevUtils smart contract. +*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L17)* ___ -### dutchAuction +### takerAssetAmount -• **dutchAuction**: *`DutchAuctionContract`* +• **takerAssetAmount**: *`BigNumber`* -*Defined in [contract_wrappers.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L74)* +*Inherited from [Order](#interface-order).[takerAssetAmount](#takerassetamount)* -An instance of the DutchAuctionContract class containing methods for interacting with any DutchAuction smart contract. +*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L21)* ___ -### erc20Proxy +### takerAssetData -• **erc20Proxy**: *`ERC20ProxyContract`* +• **takerAssetData**: *string* -*Defined in [contract_wrappers.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L52)* +*Inherited from [Order](#interface-order).[takerAssetData](#takerassetdata)* -An instance of the ERC20ProxyContract class containing methods for interacting with the -erc20Proxy smart contract. +*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L27)* ___ -### erc721Proxy +### takerFee -• **erc721Proxy**: *`ERC721ProxyContract`* +• **takerFee**: *`BigNumber`* -*Defined in [contract_wrappers.ts:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L57)* +*Inherited from [Order](#interface-order).[takerFee](#takerfee)* -An instance of the ERC721ProxyContract class containing methods for interacting with the -erc721Proxy smart contract. +*Defined in [types/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L23)* ___ -### exchange +### takerFeeAssetData -• **exchange**: *`ExchangeContract`* +• **takerFeeAssetData**: *string* -*Defined in [contract_wrappers.ts:47](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L47)* +*Inherited from [Order](#interface-order).[takerFeeAssetData](#takerfeeassetdata)* -An instance of the ExchangeContract class containing methods for interacting with the 0x Exchange smart contract. +*Defined in [types/src/index.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L29)* -___ +
-### forwarder +# Interface: SignedZeroExTransaction -• **forwarder**: *`ForwarderContract`* -*Defined in [contract_wrappers.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L66)* +## Properties + +### data -An instance of the ForwarderContract class containing methods for interacting with any Forwarder smart contract. +• **data**: *string* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[data](#data)* + +*Defined in [types/src/index.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L49)* ___ -### orderValidator +### domain -• **orderValidator**: *`OrderValidatorContract`* +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* -*Defined in [contract_wrappers.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L70)* +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[domain](#domain)* -An instance of the OrderValidatorContract class containing methods for interacting with any OrderValidator smart contract. +*Defined in [types/src/index.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* ___ -### weth9 +### expirationTimeSeconds -• **weth9**: *`WETH9Contract`* +• **expirationTimeSeconds**: *`BigNumber`* -*Defined in [contract_wrappers.ts:62](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L62)* +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[expirationTimeSeconds](#expirationtimeseconds)* -An instance of the WETH9Contract class containing methods for interacting with the -WETH9 smart contract. +*Defined in [types/src/index.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* -## Methods +___ -### getAbiDecoder +### gasPrice -▸ **getAbiDecoder**(): *`AbiDecoder`* +• **gasPrice**: *`BigNumber`* -*Defined in [contract_wrappers.ts:155](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L155)* +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[gasPrice](#gasprice)* -Get the abi decoder instance currently used by contract-wrappers +*Defined in [types/src/index.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L47)* -**Returns:** *`AbiDecoder`* +___ -AbiDecoder instance +### salt -___ +• **salt**: *`BigNumber`* -### getProvider +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[salt](#salt)* -▸ **getProvider**(): *`SupportedProvider`* +*Defined in [types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L45)* -*Defined in [contract_wrappers.ts:148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L148)* +___ -Get the provider instance currently used by contract-wrappers +### signature -**Returns:** *`SupportedProvider`* +• **signature**: *string* -Web3 provider instance +*Defined in [types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L54)* ___ -### unsubscribeAll - -▸ **unsubscribeAll**(): *void* +### signerAddress -*Defined in [contract_wrappers.ts:138](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/contract_wrappers.ts#L138)* +• **signerAddress**: *string* -Unsubscribes from all subscriptions for all contracts. +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[signerAddress](#signeraddress)* -**Returns:** *void* +*Defined in [types/src/index.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L48)*
-# Interface: CoordinatorOutstandingFillSignatures +# Interface: SimpleContractArtifact ## Properties -### approvalSignatures +### compilerOutput -• **approvalSignatures**: *string[]* +• **compilerOutput**: *[SimpleStandardContractOutput](#class-simplestandardcontractoutput)* -*Defined in [utils/coordinator_server_types.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L19)* +*Defined in [types/src/index.ts:748](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L748)* ___ -### expirationTimeSeconds +### contractName -• **expirationTimeSeconds**: *`BigNumber`* +• **contractName**: *string* -*Defined in [utils/coordinator_server_types.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L20)* +*Defined in [types/src/index.ts:747](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L747)* ___ -### orderHash +### networks -• **orderHash**: *string* +• **networks**: *`ContractNetworks`* -*Defined in [utils/coordinator_server_types.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L18)* +*Defined in [types/src/index.ts:749](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L749)* ___ -### takerAssetFillAmount +### schemaVersion -• **takerAssetFillAmount**: *`BigNumber`* +• **schemaVersion**: *string* -*Defined in [utils/coordinator_server_types.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L21)* +*Defined in [types/src/index.ts:746](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L746)*
-# Interface: CoordinatorServerApprovalRawResponse +# Interface: SimpleEvmBytecodeOutput ## Properties -### expirationTimeSeconds +### object -• **expirationTimeSeconds**: *`BigNumber`* +• **object**: *string* -*Defined in [utils/coordinator_server_types.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L10)* +*Defined in [types/src/index.ts:763](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L763)* -___ +
+ +# Interface: SimpleEvmOutput + + +## Properties -### signatures +### bytecode -• **signatures**: *string[]* +• **bytecode**: *[SimpleEvmBytecodeOutput](#class-simpleevmbytecodeoutput)* -*Defined in [utils/coordinator_server_types.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L9)* +*Defined in [types/src/index.ts:759](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L759)*
-# Interface: CoordinatorServerApprovalResponse +# Interface: SimpleStandardContractOutput ## Properties -### expirationTimeSeconds +### abi + +• **abi**: *[ContractAbi](#contractabi)* -• **expirationTimeSeconds**: *`BigNumber`[]* +*Defined in [types/src/index.ts:753](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L753)* -*Defined in [utils/coordinator_server_types.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L6)* +___ + +### `Optional` devdoc + +• **devdoc**? : *[DevdocOutput](#class-devdocoutput)* + +*Defined in [types/src/index.ts:755](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L755)* ___ -### signatures +### evm -• **signatures**: *string[]* +• **evm**: *[SimpleEvmOutput](#class-simpleevmoutput)* -*Defined in [utils/coordinator_server_types.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L5)* +*Defined in [types/src/index.ts:754](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L754)*
-# Interface: CoordinatorServerCancellationResponse -## Properties -### cancellationSignatures -• **cancellationSignatures**: *string[]* -*Defined in [utils/coordinator_server_types.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L15)* -___ -### outstandingFillSignatures -• **outstandingFillSignatures**: *[CoordinatorOutstandingFillSignatures](#class-coordinatoroutstandingfillsignatures)[]* -*Defined in [utils/coordinator_server_types.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L14)* -
-# Interface: CoordinatorServerRequest -## Properties -### signedTransaction -• **signedTransaction**: *`SignedZeroExTransaction`* -*Defined in [utils/coordinator_server_types.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L35)* -___ -### txOrigin -• **txOrigin**: *string* -*Defined in [utils/coordinator_server_types.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L36)* -
-# Interface: CoordinatorServerResponse -## Properties -### `Optional` body -• **body**? : *[CoordinatorServerCancellationResponse](_utils_coordinator_server_types_.coordinatorservercancellationresponse.md) | [CoordinatorServerApprovalRawResponse](#class-coordinatorserverapprovalrawresponse)* -*Defined in [utils/coordinator_server_types.ts:27](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L27)* -___ -### coordinatorOperator -• **coordinatorOperator**: *string* -*Defined in [utils/coordinator_server_types.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L30)* + + + +# Interface: ZeroExTransaction + +ZeroExTransaction for use with 0x Exchange executeTransaction + + +## Properties + +### data + +• **data**: *string* + +*Defined in [types/src/index.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L49)* ___ -### `Optional` error +### domain -• **error**? : *any* +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* -*Defined in [utils/coordinator_server_types.ts:28](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L28)* +*Defined in [types/src/index.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* ___ -### isError +### expirationTimeSeconds -• **isError**: *boolean* +• **expirationTimeSeconds**: *`BigNumber`* -*Defined in [utils/coordinator_server_types.ts:25](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L25)* +*Defined in [types/src/index.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* ___ -### `Optional` orders +### gasPrice -• **orders**? : *`Array`* +• **gasPrice**: *`BigNumber`* -*Defined in [utils/coordinator_server_types.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L31)* +*Defined in [types/src/index.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L47)* ___ -### request +### salt -• **request**: *[CoordinatorServerRequest](#class-coordinatorserverrequest)* +• **salt**: *`BigNumber`* -*Defined in [utils/coordinator_server_types.ts:29](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L29)* +*Defined in [types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L45)* ___ -### status +### signerAddress -• **status**: *number* +• **signerAddress**: *string* -*Defined in [utils/coordinator_server_types.ts:26](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/coordinator_server_types.ts#L26)* +*Defined in [types/src/index.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L48)*
+
-## Type aliases -### AsyncMethod -Ƭ **AsyncMethod**: *function* -*Defined in [utils/decorators.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L18)* +## Type aliases -#### Type declaration: +### CoordinatorRegistryEventArgs -▸ (...`args`: any[]): *`Promise`* +Ƭ **CoordinatorRegistryEventArgs**: *[CoordinatorRegistryCoordinatorEndpointSetEventArgs](#interface-coordinatorregistrycoordinatorendpointseteventargs)* -**Parameters:** +*Defined in [abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/coordinator_registry.ts#L28)* -Name | Type | ------- | ------ | -`...args` | any[] | +
-___ -### SyncMethod -Ƭ **SyncMethod**: *function* +
-*Defined in [utils/decorators.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L19)* -#### Type declaration: -▸ (...`args`: any[]): *any* -**Parameters:** +## Type aliases -Name | Type | ------- | ------ | -`...args` | any[] | +### DummyERC20TokenEventArgs -## Object literals +Ƭ **DummyERC20TokenEventArgs**: *[DummyERC20TokenApprovalEventArgs](#interface-dummyerc20tokenapprovaleventargs) | [DummyERC20TokenTransferEventArgs](#interface-dummyerc20tokentransfereventargs)* -### `Const` decorators +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc20_token.ts#L28)* -#### ▪ **decorators**: *object* +
-*Defined in [utils/decorators.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L130)* -#### asyncZeroExErrorHandler -• **asyncZeroExErrorHandler**: *`asyncErrorHandlingDecorator`* = asyncErrorHandlerFactory(zeroExErrorTransformer) -*Defined in [utils/decorators.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L131)* +## Type aliases -#### syncZeroExErrorHandler +### DummyERC721TokenEventArgs -• **syncZeroExErrorHandler**: *`syncErrorHandlingDecorator`* = syncErrorHandlerFactory(zeroExErrorTransformer) +Ƭ **DummyERC721TokenEventArgs**: *[DummyERC721TokenApprovalEventArgs](#interface-dummyerc721tokenapprovaleventargs) | [DummyERC721TokenApprovalForAllEventArgs](#interface-dummyerc721tokenapprovalforalleventargs) | [DummyERC721TokenTransferEventArgs](#interface-dummyerc721tokentransfereventargs)* -*Defined in [utils/decorators.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/decorators.ts#L132)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/dummy_erc721_token.ts#L28)*
@@ -1715,380 +32290,353 @@ Name | Type | -
- +## Type aliases -
+### ERC1155ProxyEventArgs +Ƭ **ERC1155ProxyEventArgs**: *[ERC1155ProxyAuthorizedAddressAddedEventArgs](#interface-erc1155proxyauthorizedaddressaddedeventargs) | [ERC1155ProxyAuthorizedAddressRemovedEventArgs](#interface-erc1155proxyauthorizedaddressremovedeventargs)* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc1155_proxy.ts#L28)*
-## Object literals +## Type aliases + +### ERC20ProxyEventArgs + +Ƭ **ERC20ProxyEventArgs**: *[ERC20ProxyAuthorizedAddressAddedEventArgs](#interface-erc20proxyauthorizedaddressaddedeventargs) | [ERC20ProxyAuthorizedAddressRemovedEventArgs](#interface-erc20proxyauthorizedaddressremovedeventargs)* + +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_proxy.ts#L28)* -#### `Const` ContractWrappersConfigSchema +
-#### ▪ **ContractWrappersConfigSchema**: *object* -*Defined in [schemas/contract_wrappers_config_schema.ts:1](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/contract_wrappers_config_schema.ts#L1)* -#### id -• **id**: *string* = "/ContractWrappersConfig" +## Type aliases -*Defined in [schemas/contract_wrappers_config_schema.ts:2](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/contract_wrappers_config_schema.ts#L2)* +### ERC20TokenEventArgs -#### required +Ƭ **ERC20TokenEventArgs**: *[ERC20TokenTransferEventArgs](#interface-erc20tokentransfereventargs) | [ERC20TokenApprovalEventArgs](#interface-erc20tokenapprovaleventargs)* -• **required**: *string[]* = ['networkId'] +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc20_token.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc20_token.ts#L28)* -*Defined in [schemas/contract_wrappers_config_schema.ts:24](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/contract_wrappers_config_schema.ts#L24)* +
-#### type -• **type**: *string* = "object" -*Defined in [schemas/contract_wrappers_config_schema.ts:23](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/contract_wrappers_config_schema.ts#L23)* -▪ **properties**: *object* +## Type aliases -*Defined in [schemas/contract_wrappers_config_schema.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/contract_wrappers_config_schema.ts#L3)* +### ERC721ProxyEventArgs -* **blockPollingIntervalMs**: *object* +Ƭ **ERC721ProxyEventArgs**: *[ERC721ProxyAuthorizedAddressAddedEventArgs](#interface-erc721proxyauthorizedaddressaddedeventargs) | [ERC721ProxyAuthorizedAddressRemovedEventArgs](#interface-erc721proxyauthorizedaddressremovedeventargs)* - * **type**: *string* = "number" +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_proxy.ts#L28)* -* **contractAddresses**: *object* +
- * **type**: *string* = "object" - * **properties**: *object* - * **assetProxyOwner**: *object* - * **$ref**: *string* = "/addressSchema" +## Type aliases - * **erc20Proxy**: *object* +### ERC721TokenEventArgs - * **$ref**: *string* = "/addressSchema" +Ƭ **ERC721TokenEventArgs**: *[ERC721TokenApprovalEventArgs](#interface-erc721tokenapprovaleventargs) | [ERC721TokenApprovalForAllEventArgs](#interface-erc721tokenapprovalforalleventargs) | [ERC721TokenTransferEventArgs](#interface-erc721tokentransfereventargs)* - * **erc721Proxy**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/erc721_token.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/erc721_token.ts#L28)* - * **$ref**: *string* = "/addressSchema" +
- * **etherToken**: *object* - * **$ref**: *string* = "/addressSchema" - * **exchange**: *object* - * **$ref**: *string* = "/addressSchema" +## Type aliases - * **forwarder**: *object* +### ExchangeEventArgs - * **$ref**: *string* = "/addressSchema" +Ƭ **ExchangeEventArgs**: *[ExchangeAssetProxyRegisteredEventArgs](#interface-exchangeassetproxyregisteredeventargs) | [ExchangeCancelEventArgs](#interface-exchangecanceleventargs) | [ExchangeCancelUpToEventArgs](#interface-exchangecanceluptoeventargs) | [ExchangeFillEventArgs](#interface-exchangefilleventargs) | [ExchangeProtocolFeeCollectorAddressEventArgs](#interface-exchangeprotocolfeecollectoraddresseventargs) | [ExchangeProtocolFeeMultiplierEventArgs](#interface-exchangeprotocolfeemultipliereventargs) | [ExchangeSignatureValidatorApprovalEventArgs](#interface-exchangesignaturevalidatorapprovaleventargs) | [ExchangeTransactionExecutionEventArgs](#interface-exchangetransactionexecutioneventargs)* - * **orderValidator**: *object* +*Defined in [abi-gen-wrappers/src/generated-wrappers/exchange.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/exchange.ts#L28)* - * **$ref**: *string* = "/addressSchema" +
- * **zrxToken**: *object* - * **$ref**: *string* = "/addressSchema" -* **gasPrice**: *object* +
- * **$ref**: *string* = "/numberSchema" -* **networkId**: *object* - * **type**: *string* = "number" +
-
+
-## Object literals -#### `Const` orderTxOptsSchema +
-#### ▪ **orderTxOptsSchema**: *object* -*Defined in [schemas/order_tx_opts_schema.ts:1](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/order_tx_opts_schema.ts#L1)* -#### allOf -• **allOf**: *object[]* = [{ $ref: '/TxOpts' }] +## Type aliases -*Defined in [schemas/order_tx_opts_schema.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/order_tx_opts_schema.ts#L3)* +### WETH9EventArgs -#### id +Ƭ **WETH9EventArgs**: *[WETH9ApprovalEventArgs](#interface-weth9approvaleventargs) | [WETH9TransferEventArgs](#interface-weth9transfereventargs) | [WETH9DepositEventArgs](#interface-weth9depositeventargs) | [WETH9WithdrawalEventArgs](#interface-weth9withdrawaleventargs)* -• **id**: *string* = "/OrderTxOpts" +*Defined in [abi-gen-wrappers/src/generated-wrappers/weth9.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/weth9.ts#L28)* -*Defined in [schemas/order_tx_opts_schema.ts:2](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/order_tx_opts_schema.ts#L2)* +
-#### type -• **type**: *string* = "object" -*Defined in [schemas/order_tx_opts_schema.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/order_tx_opts_schema.ts#L7)* -▪ **properties**: *object* +## Type aliases -*Defined in [schemas/order_tx_opts_schema.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/order_tx_opts_schema.ts#L4)* +### ZRXTokenEventArgs -* **shouldValidate**: *object* +Ƭ **ZRXTokenEventArgs**: *[ZRXTokenTransferEventArgs](#interface-zrxtokentransfereventargs) | [ZRXTokenApprovalEventArgs](#interface-zrxtokenapprovaleventargs)* - * **type**: *string* = "boolean" +*Defined in [abi-gen-wrappers/src/generated-wrappers/zrx_token.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/abi-gen-wrappers/src/generated-wrappers/zrx_token.ts#L28)*
-## Object literals +## Functions -#### `Const` txOptsSchema +### getContractAddressesForNetworkOrThrow -#### ▪ **txOptsSchema**: *object* +▸ **getContractAddressesForNetworkOrThrow**(`networkId`: [NetworkId](#enumeration-networkid)): *[ContractAddresses](#interface-contractaddresses)* -*Defined in [schemas/tx_opts_schema.ts:1](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/tx_opts_schema.ts#L1)* +*Defined in [contract-addresses/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L128)* -#### id +Used to get addresses of contracts that have been deployed to either the +Ethereum mainnet or a supported testnet. Throws if there are no known +contracts deployed on the corresponding network. -• **id**: *string* = "/TxOpts" +**Parameters:** -*Defined in [schemas/tx_opts_schema.ts:2](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/tx_opts_schema.ts#L2)* +Name | Type | Description | +------ | ------ | ------ | +`networkId` | [NetworkId](#enumeration-networkid) | The desired networkId. | -#### type +**Returns:** *[ContractAddresses](#interface-contractaddresses)* -• **type**: *string* = "object" +The set of addresses for contracts which have been deployed on the +given networkId. -*Defined in [schemas/tx_opts_schema.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/tx_opts_schema.ts#L8)* +
-▪ **properties**: *object* -*Defined in [schemas/tx_opts_schema.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/schemas/tx_opts_schema.ts#L3)* -* **gasLimit**: *object* +
- * **type**: *string* = "number" -* **gasPrice**: *object* - * **$ref**: *string* = "/numberSchema" +
-* **nonce**: *object* - * **type**: *string* = "number" -
+
## Type aliases -#### EventCallback +### AbiDefinition -Ƭ **EventCallback**: *function* +Ƭ **AbiDefinition**: *[FunctionAbi](_ethereum_types_src_index_.md#functionabi) | [EventAbi](#interface-eventabi) | [RevertErrorAbi](#interface-reverterrorabi)* -*Defined in [types.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/types.ts#L11)* +*Defined in [ethereum-types/src/index.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L80)* -##### Type declaration: +___ -▸ (`err`: null | `Error`, `log?`: [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*›): *void* +### BlockParam -**Parameters:** +Ƭ **BlockParam**: *[BlockParamLiteral](#enumeration-blockparamliteral) | number* -Name | Type | ------- | ------ | -`err` | null \| `Error` | -`log?` | [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*› | +*Defined in [ethereum-types/src/index.ts:483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L483)* -
+___ +### ConstructorStateMutability +Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"* +*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L84)* -## Object literals +___ -#### `Const` assert +### ContractAbi -#### ▪ **assert**: *object* +Ƭ **ContractAbi**: *[AbiDefinition](#abidefinition)[]* -*Defined in [utils/assert.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L13)* +*Defined in [ethereum-types/src/index.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L78)* -#### allMakerAssetDatasAreErc20Token +___ -▸ **allMakerAssetDatasAreErc20Token**(`orders`: `Order`[], `tokenAddress`: string): *void* +### ContractEventArg -*Defined in [utils/assert.ts:61](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L61)* +Ƭ **ContractEventArg**: *any* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L468)* -Name | Type | ------- | ------ | -`orders` | `Order`[] | -`tokenAddress` | string | +___ -**Returns:** *void* -#### allTakerAddressesAreNull -▸ **allTakerAddressesAreNull**(`orders`: `Order`[]): *void* +### EIP1193Event -*Defined in [utils/assert.ts:58](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L58)* +Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -**Parameters:** +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* -Name | Type | ------- | ------ | -`orders` | `Order`[] | +Interface for providers that conform to EIP 1193 +Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md -**Returns:** *void* +___ -#### allTakerAssetDatasAreErc20Token -▸ **allTakerAssetDatasAreErc20Token**(`orders`: `Order`[], `tokenAddress`: string): *void* -*Defined in [utils/assert.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L68)* -**Parameters:** -Name | Type | ------- | ------ | -`orders` | `Order`[] | -`tokenAddress` | string | +### FunctionAbi -**Returns:** *void* +Ƭ **FunctionAbi**: *[MethodAbi](#interface-methodabi) | [ConstructorAbi](#interface-constructorabi) | [FallbackAbi](#interface-fallbackabi)* + +*Defined in [ethereum-types/src/index.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L82)* + +___ -#### feeOrdersCanBeUsedForForwarderContract +### JSONRPCErrorCallback -▸ **feeOrdersCanBeUsedForForwarderContract**(`orders`: `Order`[], `zrxTokenAddress`: string, `etherTokenAddress`: string): *void* +Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [utils/assert.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L52)* +*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* + +#### Type declaration: + +▸ (`err`: `Error` | null, `result?`: [JSONRPCResponsePayload](#interface-jsonrpcresponsepayload)): *void* **Parameters:** Name | Type | ------ | ------ | -`orders` | `Order`[] | -`zrxTokenAddress` | string | -`etherTokenAddress` | string | +`err` | `Error` \| null | +`result?` | [JSONRPCResponsePayload](#interface-jsonrpcresponsepayload) | -**Returns:** *void* +___ -#### isSenderAddressAsync -▸ **isSenderAddressAsync**(`variableName`: string, `senderAddressHex`: string, `web3Wrapper`: `Web3Wrapper`): *`Promise`* -*Defined in [utils/assert.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L34)* +### OutputField -**Parameters:** +Ƭ **OutputField**: *"*" | "ast" | "legacyAST" | "abi" | "devdoc" | "userdoc" | "metadata" | "ir" | "evm.assembly" | "evm.legacyAssembly" | "evm.bytecode.object" | "evm.bytecode.opcodes" | "evm.bytecode.sourceMap" | "evm.bytecode.linkReferences" | "evm.deployedBytecode.object" | "evm.deployedBytecode.opcodes" | "evm.deployedBytecode.sourceMap" | "evm.deployedBytecode.linkReferences" | "evm.methodIdentifiers" | "evm.gasEstimates" | "ewasm.wast" | "ewasm.wasm"* -Name | Type | ------- | ------ | -`variableName` | string | -`senderAddressHex` | string | -`web3Wrapper` | `Web3Wrapper` | +*Defined in [ethereum-types/src/index.ts:525](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L525)* -**Returns:** *`Promise`* +___ -#### isValidSignatureAsync +### ParamDescription -▸ **isValidSignatureAsync**(`supportedProvider`: `SupportedProvider`, `orderHash`: string, `signature`: string, `signerAddress`: string): *`Promise`* +Ƭ **ParamDescription**: *string* -*Defined in [utils/assert.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L15)* +*Defined in [ethereum-types/src/index.ts:561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L561)* -**Parameters:** +___ -Name | Type | ------- | ------ | -`supportedProvider` | `SupportedProvider` | -`orderHash` | string | -`signature` | string | -`signerAddress` | string | +### RawLog -**Returns:** *`Promise`* +Ƭ **RawLog**: *[LogEntry](#interface-logentry)* -#### isValidSubscriptionToken +*Defined in [ethereum-types/src/index.ts:475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L475)* -▸ **isValidSubscriptionToken**(`variableName`: string, `subscriptionToken`: string): *void* +___ -*Defined in [utils/assert.ts:29](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L29)* +### StateMutability -**Parameters:** +Ƭ **StateMutability**: *"pure" | "view" | [ConstructorStateMutability](#constructorstatemutability)* -Name | Type | ------- | ------ | -`variableName` | string | -`subscriptionToken` | string | +*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L85)* -**Returns:** *void* +___ -#### ordersCanBeUsedForForwarderContract +### SupportedProvider -▸ **ordersCanBeUsedForForwarderContract**(`orders`: `Order`[], `etherTokenAddress`: string): *void* +Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [utils/assert.ts:46](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L46)* +*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* -**Parameters:** +Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library +Read more about Providers in the guides section of the 0x docs. -Name | Type | ------- | ------ | -`orders` | `Order`[] | -`etherTokenAddress` | string | +___ -**Returns:** *void* -#### ordersHaveAtMostOneUniqueValueForProperty -▸ **ordersHaveAtMostOneUniqueValueForProperty**(`orders`: `Order`[], `propertyName`: string, `value?`: any): *void* -*Defined in [utils/assert.ts:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/assert.ts#L79)* -**Parameters:** +### Web3JsProvider -Name | Type | ------- | ------ | -`orders` | `Order`[] | -`propertyName` | string | -`value?` | any | +Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -**Returns:** *void* +*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)*
-## Functions +## Type aliases + + + + + + + + + + + +### EventCallback -#### _getDefaultContractAddresses +Ƭ **EventCallback**: *function* -▸ **_getDefaultContractAddresses**(`networkId`: number): *`ContractAddresses`* +*Defined in [types/src/index.ts:857](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L857)* -*Defined in [utils/contract_addresses.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-wrappers/src/utils/contract_addresses.ts#L8)* +#### Type declaration: -Returns the default contract addresses for the given networkId or throws with -a context-specific error message if the networkId is not recognized. +▸ (`err`: null | `Error`, `log?`: [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*›): *void* **Parameters:** Name | Type | ------ | ------ | -`networkId` | number | +`err` | null \| `Error` | +`log?` | [DecodedLogEvent](#interface-decodedlogevent)‹*`ArgsType`*› | + +___ + + + + + + + + -**Returns:** *`ContractAddresses`* -
diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index e315e75f4f..1c03eb7ea1 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "12.1.0", + "version": "12.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -31,7 +31,7 @@ "docs_test": "typedoc --excludePrivate --excludeExternals --target ES5 --tsconfig typedoc-tsconfig.json --out generated_docs ./src/generated-wrappers/*", "diff_docs": "git diff --exit-code ./docs", "s3:sync_md_docs": "aws s3 sync ./docs s3://docs-markdown/${npm_package_name}/v${npm_package_version} --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers", - "docs:md": "ts-doc-gen --sourceDir=./src --output=./docs --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json", + "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json", "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES" }, "config": { @@ -47,24 +47,24 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-wrappers/README.md", "devDependencies": { - "@0x/assert": "^2.1.6", - "@0x/contracts-test-utils": "^3.1.16", + "@0x/assert": "^2.2.0-beta.0", + "@0x/contracts-test-utils": "^3.2.0-beta.0", "@0x/coordinator-server": "^0.1.3", - "@0x/dev-utils": "^2.3.3", - "@0x/json-schemas": "^4.0.2", - "@0x/migrations": "^4.3.2", - "@0x/subproviders": "^5.0.4", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/migrations": "^4.4.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", "@0x/ts-doc-gen": "^0.0.22", "@0x/tslint-config": "^3.0.1", - "@0x/types": "^2.4.3", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/types": "^2.5.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@types/nock": "^10.0.3", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11", "mocha": "^6.2.0", "nock": "^10.0.6", @@ -74,11 +74,11 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.3.2", - "@0x/base-contract": "^5.4.0", - "@0x/contract-addresses": "^3.2.0", - "@0x/contract-artifacts": "^2.2.2", - "@0x/order-utils": "^8.4.0", + "@0x/abi-gen-wrappers": "^5.4.0-beta.0", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contract-addresses": "^3.3.0-beta.0", + "@0x/contract-artifacts": "^2.3.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", "ethers": "~4.0.4", "http-status-codes": "^1.3.2" }, diff --git a/packages/contract-wrappers/src/index.ts b/packages/contract-wrappers/src/index.ts index 5a4c21c165..9da6d1ace8 100644 --- a/packages/contract-wrappers/src/index.ts +++ b/packages/contract-wrappers/src/index.ts @@ -72,6 +72,9 @@ export { ERC721ProxyAuthorizedAddressRemovedEventArgs, ERC721ProxyContract, OrderValidatorContract, + ExchangeProtocolFeeCollectorAddressEventArgs, + ExchangeProtocolFeeMultiplierEventArgs, + ExchangeTransactionExecutionEventArgs, } from '@0x/abi-gen-wrappers'; export { @@ -80,13 +83,10 @@ export { ForwarderError, CoordinatorServerCancellationResponse, CoordinatorServerError, - IndexedFilterValues, ContractWrappersConfig, OrderTransactionOpts, TransactionOpts, OrderInfo, - EventCallback, - DecodedLogEvent, } from './types'; export { @@ -142,6 +142,7 @@ export { ConstructorStateMutability, JSONRPCResponseError, StateMutability, + RevertErrorAbi, } from 'ethereum-types'; export { @@ -153,6 +154,10 @@ export { SignedZeroExTransaction, SimpleEvmOutput, SimpleEvmBytecodeOutput, + EIP712DomainWithDefaultSchema, + EventCallback, + DecodedLogEvent, + IndexedFilterValues, } from '@0x/types'; export { AbiDecoder, DecodedCalldata } from '@0x/utils'; diff --git a/packages/contract-wrappers/src/types.ts b/packages/contract-wrappers/src/types.ts index 46f189790f..048e08981d 100644 --- a/packages/contract-wrappers/src/types.ts +++ b/packages/contract-wrappers/src/types.ts @@ -1,18 +1,6 @@ import { ContractAddresses } from '@0x/contract-addresses'; import { BigNumber } from '@0x/utils'; -import { ContractEventArg, DecodedLogArgs, LogWithDecodedArgs } from 'ethereum-types'; - -export interface DecodedLogEvent { - isRemoved: boolean; - log: LogWithDecodedArgs; -} - -export type EventCallback = ( - err: null | Error, - log?: DecodedLogEvent, -) => void; - export interface TxOpts { from: string; gas?: number; @@ -20,10 +8,6 @@ export interface TxOpts { gasPrice?: BigNumber; } -export interface IndexedFilterValues { - [index: string]: ContractEventArg; -} - export enum ForwarderError { CompleteFillFailed = 'COMPLETE_FILL_FAILED', } diff --git a/packages/contracts-gen/CHANGELOG.json b/packages/contracts-gen/CHANGELOG.json index 6ef663f02f..cbaad0fafc 100644 --- a/packages/contracts-gen/CHANGELOG.json +++ b/packages/contracts-gen/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "1.1.0", + "version": "1.1.0-beta.0", "changes": [ { "note": "Generate boilerplate for all contracts if none are specified or if all contracts identifier is used", @@ -10,7 +10,8 @@ "note": "Fixed sorting in artifact generation", "pr": 1910 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/contracts-gen/CHANGELOG.md b/packages/contracts-gen/CHANGELOG.md index eb35386b98..874b994727 100644 --- a/packages/contracts-gen/CHANGELOG.md +++ b/packages/contracts-gen/CHANGELOG.md @@ -5,6 +5,11 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.1.0-beta.0 - _October 3, 2019_ + + * Generate boilerplate for all contracts if none are specified or if all contracts identifier is used (#2055) + * Fixed sorting in artifact generation (#1910) + ## v1.0.15 - _September 17, 2019_ * Dependencies updated diff --git a/packages/contracts-gen/package.json b/packages/contracts-gen/package.json index defd08a9a6..2142a8b1a6 100644 --- a/packages/contracts-gen/package.json +++ b/packages/contracts-gen/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-gen", - "version": "1.0.15", + "version": "1.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -27,12 +27,12 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/contracts-gen/README.md", "dependencies": { - "@0x/sol-compiler": "^3.1.15", - "@0x/sol-resolver": "^2.0.11", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "ethereum-types": "^2.1.6", + "@0x/sol-compiler": "^3.2.0-beta.0", + "@0x/sol-resolver": "^2.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11", "prettier": "^1.16.3", "to-snake-case": "^1.0.0" diff --git a/packages/dev-utils/CHANGELOG.json b/packages/dev-utils/CHANGELOG.json index 1924529ea5..61e1e91d6e 100644 --- a/packages/dev-utils/CHANGELOG.json +++ b/packages/dev-utils/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "2.4.0", + "version": "2.4.0-beta.0", "changes": [ { "note": "`revertWith` mocha extensions now accept Promise-like objects instead of just Promises", @@ -26,7 +26,8 @@ "note": "Refactor out `Error` coercion code into the `utils` package", "pr": 1819 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index 08fbf305fb..fa74ba77b1 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.4.0-beta.0 - _October 3, 2019_ + + * `revertWith` mocha extensions now accept Promise-like objects instead of just Promises (#2031) + * Add `shouldAllowUnlimitedContractSize` to `Web3Config`. (#2075) + * Add `UNLIMITED_CONTRACT_SIZE` to `EnvVars`. (#2075) + * Add `total_accounts` option to `Web3Config`. (#2109) + * Add `chaiSetup` function with `RevertError` testing support (#1761) + * Refactor out `Error` coercion code into the `utils` package (#1819) + ## v2.3.3 - _September 17, 2019_ * Dependencies updated diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 6f53ca0748..b3c5bf0cea 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/dev-utils", - "version": "2.3.3", + "version": "2.4.0-beta.0", "engines": { "node": ">=6.12" }, @@ -42,17 +42,17 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/subproviders": "^5.0.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@types/web3-provider-engine": "^14.0.0", "chai": "^4.0.1", "chai-as-promised": "^7.1.0", "chai-bignumber": "^3.0.0", "dirty-chai": "^2.0.1", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/packages/dev-utils/src/chai_setup.ts b/packages/dev-utils/src/chai_setup.ts index 71d8649dfd..a3c3f98410 100644 --- a/packages/dev-utils/src/chai_setup.ts +++ b/packages/dev-utils/src/chai_setup.ts @@ -1,3 +1,4 @@ +import { RevertError } from '@0x/utils'; import * as chai from 'chai'; import chaiAsPromised = require('chai-as-promised'); import ChaiBigNumber = require('chai-bignumber'); @@ -5,6 +6,14 @@ import * as dirtyChai from 'dirty-chai'; import { revertErrorHelper } from './chai_revert_error'; +declare global { + namespace Chai { + export interface Assertion { + revertWith: (expected: string | RevertError) => Promise; + } + } +} + export const chaiSetup = { configure(): void { chai.config.includeStack = true; diff --git a/packages/ethereum-types/CHANGELOG.json b/packages/ethereum-types/CHANGELOG.json index cb81379742..7abc500967 100644 --- a/packages/ethereum-types/CHANGELOG.json +++ b/packages/ethereum-types/CHANGELOG.json @@ -1,12 +1,17 @@ [ { - "version": "2.2.0", + "version": "2.2.0-beta.0", "changes": [ { "note": "Add `RevertErrorAbi` interface as part of `AbiDefinition` types", "pr": 1761 + }, + { + "note": "Add `DecodedLogs` type", + "pr": 2220 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/ethereum-types/CHANGELOG.md b/packages/ethereum-types/CHANGELOG.md index c76b4ed6f3..152485e402 100644 --- a/packages/ethereum-types/CHANGELOG.md +++ b/packages/ethereum-types/CHANGELOG.md @@ -5,6 +5,11 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.2.0-beta.0 - _October 3, 2019_ + + * Add `RevertErrorAbi` interface as part of `AbiDefinition` types (#1761) + * Add `DecodedLogs` type (#2220) + ## v2.1.6 - _September 17, 2019_ * Dependencies updated diff --git a/packages/ethereum-types/docs/reference.mdx b/packages/ethereum-types/docs/reference.mdx index 90bb2512e4..7e66f9c26b 100644 --- a/packages/ethereum-types/docs/reference.mdx +++ b/packages/ethereum-types/docs/reference.mdx @@ -1,22 +1,37 @@ -# Interface: GanacheProvider +# Enumeration: AbiType -## Methods +## Enumeration members -### sendAsync +### Constructor -▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* +• **Constructor**: = "constructor" -*Defined in [index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L14)* +*Defined in [index.ts:463](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L463)* -**Parameters:** +___ -Name | Type | ------- | ------ | -`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | -`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | +### Event -**Returns:** *void* +• **Event**: = "event" + +*Defined in [index.ts:464](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L464)* + +___ + +### Fallback + +• **Fallback**: = "fallback" + +*Defined in [index.ts:465](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L465)* + +___ + +### Function + +• **Function**: = "function" + +*Defined in [index.ts:462](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L462)*
@@ -29,7 +44,7 @@ Name | Type | • **Earliest**: = "earliest" -*Defined in [index.ts:470](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L470)* +*Defined in [index.ts:478](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L478)* ___ @@ -37,7 +52,7 @@ ___ • **Latest**: = "latest" -*Defined in [index.ts:471](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L471)* +*Defined in [index.ts:479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L479)* ___ @@ -45,7 +60,7 @@ ___ • **Pending**: = "pending" -*Defined in [index.ts:472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L472)* +*Defined in [index.ts:480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L480)*
@@ -58,7 +73,7 @@ ___ • **Add**: = "ADD" -*Defined in [index.ts:141](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L141)* +*Defined in [index.ts:147](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L147)* ___ @@ -66,7 +81,7 @@ ___ • **AddMod**: = "ADDMOD" -*Defined in [index.ts:148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L148)* +*Defined in [index.ts:154](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L154)* ___ @@ -74,7 +89,7 @@ ___ • **Address**: = "ADDRESS" -*Defined in [index.ts:167](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L167)* +*Defined in [index.ts:173](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L173)* ___ @@ -82,7 +97,7 @@ ___ • **And**: = "AND" -*Defined in [index.ts:159](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L159)* +*Defined in [index.ts:165](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L165)* ___ @@ -90,7 +105,7 @@ ___ • **Balance**: = "BALANCE" -*Defined in [index.ts:168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L168)* +*Defined in [index.ts:174](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L174)* ___ @@ -98,7 +113,7 @@ ___ • **BlockHash**: = "BLOCKHASH" -*Defined in [index.ts:183](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L183)* +*Defined in [index.ts:189](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L189)* ___ @@ -106,7 +121,7 @@ ___ • **Byte**: = "BYTE" -*Defined in [index.ts:163](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L163)* +*Defined in [index.ts:169](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L169)* ___ @@ -114,7 +129,7 @@ ___ • **Call**: = "CALL" -*Defined in [index.ts:276](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L276)* +*Defined in [index.ts:282](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L282)* ___ @@ -122,7 +137,7 @@ ___ • **CallCode**: = "CALLCODE" -*Defined in [index.ts:277](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L277)* +*Defined in [index.ts:283](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L283)* ___ @@ -130,7 +145,7 @@ ___ • **CallDataCopy**: = "CALLDATACOPY" -*Defined in [index.ts:174](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L174)* +*Defined in [index.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L180)* ___ @@ -138,7 +153,7 @@ ___ • **CallDataLoad**: = "CALLDATALOAD" -*Defined in [index.ts:172](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L172)* +*Defined in [index.ts:178](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L178)* ___ @@ -146,7 +161,7 @@ ___ • **CallDataSize**: = "CALLDATASIZE" -*Defined in [index.ts:173](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L173)* +*Defined in [index.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L179)* ___ @@ -154,7 +169,7 @@ ___ • **CallValue**: = "CALLVALUE" -*Defined in [index.ts:171](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L171)* +*Defined in [index.ts:177](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L177)* ___ @@ -162,7 +177,7 @@ ___ • **Caller**: = "CALLER" -*Defined in [index.ts:170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L170)* +*Defined in [index.ts:176](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L176)* ___ @@ -170,7 +185,7 @@ ___ • **CodeCopy**: = "CODECOPY" -*Defined in [index.ts:176](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L176)* +*Defined in [index.ts:182](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L182)* ___ @@ -178,7 +193,7 @@ ___ • **CodeSize**: = "CODESIZE" -*Defined in [index.ts:175](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L175)* +*Defined in [index.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L181)* ___ @@ -186,7 +201,7 @@ ___ • **Coinbase**: = "COINBASE" -*Defined in [index.ts:184](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L184)* +*Defined in [index.ts:190](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L190)* ___ @@ -194,7 +209,7 @@ ___ • **Create**: = "CREATE" -*Defined in [index.ts:275](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L275)* +*Defined in [index.ts:281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L281)* ___ @@ -202,7 +217,7 @@ ___ • **DelegateCall**: = "DELEGATECALL" -*Defined in [index.ts:279](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L279)* +*Defined in [index.ts:285](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L285)* ___ @@ -210,7 +225,7 @@ ___ • **Difficulty**: = "DIFFICULTY" -*Defined in [index.ts:187](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L187)* +*Defined in [index.ts:193](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L193)* ___ @@ -218,7 +233,7 @@ ___ • **Div**: = "DIV" -*Defined in [index.ts:144](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L144)* +*Defined in [index.ts:150](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L150)* ___ @@ -226,7 +241,7 @@ ___ • **Dup1**: = "DUP1" -*Defined in [index.ts:236](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L236)* +*Defined in [index.ts:242](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L242)* ___ @@ -234,7 +249,7 @@ ___ • **Dup10**: = "DUP10" -*Defined in [index.ts:245](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L245)* +*Defined in [index.ts:251](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L251)* ___ @@ -242,7 +257,7 @@ ___ • **Dup11**: = "DUP11" -*Defined in [index.ts:246](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L246)* +*Defined in [index.ts:252](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L252)* ___ @@ -250,7 +265,7 @@ ___ • **Dup12**: = "DUP12" -*Defined in [index.ts:247](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L247)* +*Defined in [index.ts:253](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L253)* ___ @@ -258,7 +273,7 @@ ___ • **Dup13**: = "DUP13" -*Defined in [index.ts:248](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L248)* +*Defined in [index.ts:254](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L254)* ___ @@ -266,7 +281,7 @@ ___ • **Dup14**: = "DUP14" -*Defined in [index.ts:249](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L249)* +*Defined in [index.ts:255](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L255)* ___ @@ -274,7 +289,7 @@ ___ • **Dup15**: = "DUP15" -*Defined in [index.ts:250](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L250)* +*Defined in [index.ts:256](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L256)* ___ @@ -282,7 +297,7 @@ ___ • **Dup16**: = "DUP16" -*Defined in [index.ts:251](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L251)* +*Defined in [index.ts:257](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L257)* ___ @@ -290,7 +305,7 @@ ___ • **Dup2**: = "DUP2" -*Defined in [index.ts:237](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L237)* +*Defined in [index.ts:243](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L243)* ___ @@ -298,7 +313,7 @@ ___ • **Dup3**: = "DUP3" -*Defined in [index.ts:238](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L238)* +*Defined in [index.ts:244](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L244)* ___ @@ -306,7 +321,7 @@ ___ • **Dup4**: = "DUP4" -*Defined in [index.ts:239](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L239)* +*Defined in [index.ts:245](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L245)* ___ @@ -314,7 +329,7 @@ ___ • **Dup5**: = "DUP5" -*Defined in [index.ts:240](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L240)* +*Defined in [index.ts:246](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L246)* ___ @@ -322,7 +337,7 @@ ___ • **Dup6**: = "DUP6" -*Defined in [index.ts:241](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L241)* +*Defined in [index.ts:247](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L247)* ___ @@ -330,7 +345,7 @@ ___ • **Dup7**: = "DUP7" -*Defined in [index.ts:242](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L242)* +*Defined in [index.ts:248](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L248)* ___ @@ -338,7 +353,7 @@ ___ • **Dup8**: = "DUP8" -*Defined in [index.ts:243](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L243)* +*Defined in [index.ts:249](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L249)* ___ @@ -346,7 +361,7 @@ ___ • **Dup9**: = "DUP9" -*Defined in [index.ts:244](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L244)* +*Defined in [index.ts:250](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L250)* ___ @@ -354,7 +369,7 @@ ___ • **Eq**: = "EQ" -*Defined in [index.ts:157](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L157)* +*Defined in [index.ts:163](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L163)* ___ @@ -362,7 +377,7 @@ ___ • **Exp**: = "EXP" -*Defined in [index.ts:150](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L150)* +*Defined in [index.ts:156](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L156)* ___ @@ -370,7 +385,7 @@ ___ • **ExtCodeCopy**: = "EXTCODECOPY" -*Defined in [index.ts:179](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L179)* +*Defined in [index.ts:185](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L185)* ___ @@ -378,7 +393,7 @@ ___ • **ExtCodeSize**: = "EXTCODESIZE" -*Defined in [index.ts:178](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L178)* +*Defined in [index.ts:184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L184)* ___ @@ -386,7 +401,7 @@ ___ • **Gas**: = "GAS" -*Defined in [index.ts:200](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L200)* +*Defined in [index.ts:206](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L206)* ___ @@ -394,7 +409,7 @@ ___ • **GasPrice**: = "GASPRICE" -*Defined in [index.ts:177](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L177)* +*Defined in [index.ts:183](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L183)* ___ @@ -402,7 +417,7 @@ ___ • **Gaslimit**: = "GASLIMIT" -*Defined in [index.ts:188](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L188)* +*Defined in [index.ts:194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L194)* ___ @@ -410,7 +425,7 @@ ___ • **Gt**: = "GT" -*Defined in [index.ts:154](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L154)* +*Defined in [index.ts:160](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L160)* ___ @@ -418,7 +433,7 @@ ___ • **Invalid**: = "INVALID" -*Defined in [index.ts:282](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L282)* +*Defined in [index.ts:288](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L288)* ___ @@ -426,7 +441,7 @@ ___ • **IsZero**: = "ISZERO" -*Defined in [index.ts:158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L158)* +*Defined in [index.ts:164](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L164)* ___ @@ -434,7 +449,7 @@ ___ • **Jump**: = "JUMP" -*Defined in [index.ts:196](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L196)* +*Defined in [index.ts:202](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L202)* ___ @@ -442,7 +457,7 @@ ___ • **JumpDest**: = "JUMPDEST" -*Defined in [index.ts:201](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L201)* +*Defined in [index.ts:207](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L207)* ___ @@ -450,7 +465,7 @@ ___ • **Jumpi**: = "JUMPI" -*Defined in [index.ts:197](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L197)* +*Defined in [index.ts:203](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L203)* ___ @@ -458,7 +473,7 @@ ___ • **Log1**: = "LOG1" -*Defined in [index.ts:270](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L270)* +*Defined in [index.ts:276](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L276)* ___ @@ -466,7 +481,7 @@ ___ • **Log2**: = "LOG2" -*Defined in [index.ts:271](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L271)* +*Defined in [index.ts:277](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L277)* ___ @@ -474,7 +489,7 @@ ___ • **Log3**: = "LOG3" -*Defined in [index.ts:272](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L272)* +*Defined in [index.ts:278](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L278)* ___ @@ -482,7 +497,7 @@ ___ • **Log4**: = "LOG4" -*Defined in [index.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L273)* +*Defined in [index.ts:279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L279)* ___ @@ -490,7 +505,7 @@ ___ • **Lt**: = "LT" -*Defined in [index.ts:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L153)* +*Defined in [index.ts:159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L159)* ___ @@ -498,7 +513,7 @@ ___ • **MLoad**: = "MLOAD" -*Defined in [index.ts:191](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L191)* +*Defined in [index.ts:197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L197)* ___ @@ -506,7 +521,7 @@ ___ • **MSize**: = "MSIZE" -*Defined in [index.ts:199](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L199)* +*Defined in [index.ts:205](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L205)* ___ @@ -514,7 +529,7 @@ ___ • **MStore**: = "MSTORE" -*Defined in [index.ts:192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L192)* +*Defined in [index.ts:198](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L198)* ___ @@ -522,7 +537,7 @@ ___ • **MStore8**: = "MSTORE8" -*Defined in [index.ts:193](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L193)* +*Defined in [index.ts:199](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L199)* ___ @@ -530,7 +545,7 @@ ___ • **Mod**: = "MOD" -*Defined in [index.ts:146](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L146)* +*Defined in [index.ts:152](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L152)* ___ @@ -538,7 +553,7 @@ ___ • **Mul**: = "MUL" -*Defined in [index.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L142)* +*Defined in [index.ts:148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L148)* ___ @@ -546,7 +561,7 @@ ___ • **MulMod**: = "MULMOD" -*Defined in [index.ts:149](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L149)* +*Defined in [index.ts:155](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L155)* ___ @@ -554,7 +569,7 @@ ___ • **Not**: = "NOT" -*Defined in [index.ts:162](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L162)* +*Defined in [index.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L168)* ___ @@ -562,7 +577,7 @@ ___ • **Number**: = "NUMBER" -*Defined in [index.ts:186](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L186)* +*Defined in [index.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L192)* ___ @@ -570,7 +585,7 @@ ___ • **Or**: = "OR" -*Defined in [index.ts:160](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L160)* +*Defined in [index.ts:166](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L166)* ___ @@ -578,7 +593,7 @@ ___ • **Origin**: = "ORIGIN" -*Defined in [index.ts:169](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L169)* +*Defined in [index.ts:175](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L175)* ___ @@ -586,7 +601,7 @@ ___ • **Pc**: = "PC" -*Defined in [index.ts:198](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L198)* +*Defined in [index.ts:204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L204)* ___ @@ -594,7 +609,7 @@ ___ • **Pop**: = "POP" -*Defined in [index.ts:190](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L190)* +*Defined in [index.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L196)* ___ @@ -602,7 +617,7 @@ ___ • **Push1**: = "PUSH1" -*Defined in [index.ts:203](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L203)* +*Defined in [index.ts:209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L209)* ___ @@ -610,7 +625,7 @@ ___ • **Push10**: = "PUSH10" -*Defined in [index.ts:212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L212)* +*Defined in [index.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L218)* ___ @@ -618,7 +633,7 @@ ___ • **Push11**: = "PUSH11" -*Defined in [index.ts:213](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L213)* +*Defined in [index.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L219)* ___ @@ -626,7 +641,7 @@ ___ • **Push12**: = "PUSH12" -*Defined in [index.ts:214](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L214)* +*Defined in [index.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L220)* ___ @@ -634,7 +649,7 @@ ___ • **Push13**: = "PUSH13" -*Defined in [index.ts:215](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L215)* +*Defined in [index.ts:221](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L221)* ___ @@ -642,7 +657,7 @@ ___ • **Push14**: = "PUSH14" -*Defined in [index.ts:216](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L216)* +*Defined in [index.ts:222](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L222)* ___ @@ -650,7 +665,7 @@ ___ • **Push15**: = "PUSH15" -*Defined in [index.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L217)* +*Defined in [index.ts:223](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L223)* ___ @@ -658,7 +673,7 @@ ___ • **Push16**: = "PUSH16" -*Defined in [index.ts:218](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L218)* +*Defined in [index.ts:224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L224)* ___ @@ -666,7 +681,7 @@ ___ • **Push17**: = "PUSH17" -*Defined in [index.ts:219](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L219)* +*Defined in [index.ts:225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L225)* ___ @@ -674,7 +689,7 @@ ___ • **Push18**: = "PUSH18" -*Defined in [index.ts:220](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L220)* +*Defined in [index.ts:226](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L226)* ___ @@ -682,7 +697,7 @@ ___ • **Push19**: = "PUSH19" -*Defined in [index.ts:221](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L221)* +*Defined in [index.ts:227](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L227)* ___ @@ -690,7 +705,7 @@ ___ • **Push2**: = "PUSH2" -*Defined in [index.ts:204](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L204)* +*Defined in [index.ts:210](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L210)* ___ @@ -698,7 +713,7 @@ ___ • **Push20**: = "PUSH20" -*Defined in [index.ts:222](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L222)* +*Defined in [index.ts:228](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L228)* ___ @@ -706,7 +721,7 @@ ___ • **Push21**: = "PUSH21" -*Defined in [index.ts:223](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L223)* +*Defined in [index.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L229)* ___ @@ -714,7 +729,7 @@ ___ • **Push22**: = "PUSH22" -*Defined in [index.ts:224](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L224)* +*Defined in [index.ts:230](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L230)* ___ @@ -722,7 +737,7 @@ ___ • **Push23**: = "PUSH23" -*Defined in [index.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L225)* +*Defined in [index.ts:231](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L231)* ___ @@ -730,7 +745,7 @@ ___ • **Push24**: = "PUSH24" -*Defined in [index.ts:226](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L226)* +*Defined in [index.ts:232](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L232)* ___ @@ -738,7 +753,7 @@ ___ • **Push25**: = "PUSH25" -*Defined in [index.ts:227](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L227)* +*Defined in [index.ts:233](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L233)* ___ @@ -746,7 +761,7 @@ ___ • **Push26**: = "PUSH26" -*Defined in [index.ts:228](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L228)* +*Defined in [index.ts:234](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L234)* ___ @@ -754,7 +769,7 @@ ___ • **Push27**: = "PUSH27" -*Defined in [index.ts:229](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L229)* +*Defined in [index.ts:235](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L235)* ___ @@ -762,7 +777,7 @@ ___ • **Push28**: = "PUSH28" -*Defined in [index.ts:230](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L230)* +*Defined in [index.ts:236](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L236)* ___ @@ -770,7 +785,7 @@ ___ • **Push29**: = "PUSH29" -*Defined in [index.ts:231](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L231)* +*Defined in [index.ts:237](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L237)* ___ @@ -778,7 +793,7 @@ ___ • **Push3**: = "PUSH3" -*Defined in [index.ts:205](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L205)* +*Defined in [index.ts:211](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L211)* ___ @@ -786,7 +801,7 @@ ___ • **Push30**: = "PUSH30" -*Defined in [index.ts:232](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L232)* +*Defined in [index.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L238)* ___ @@ -794,7 +809,7 @@ ___ • **Push31**: = "PUSH31" -*Defined in [index.ts:233](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L233)* +*Defined in [index.ts:239](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L239)* ___ @@ -802,7 +817,7 @@ ___ • **Push32**: = "PUSH32" -*Defined in [index.ts:234](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L234)* +*Defined in [index.ts:240](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L240)* ___ @@ -810,7 +825,7 @@ ___ • **Push4**: = "PUSH4" -*Defined in [index.ts:206](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L206)* +*Defined in [index.ts:212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L212)* ___ @@ -818,7 +833,7 @@ ___ • **Push5**: = "PUSH5" -*Defined in [index.ts:207](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L207)* +*Defined in [index.ts:213](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L213)* ___ @@ -826,7 +841,7 @@ ___ • **Push6**: = "PUSH6" -*Defined in [index.ts:208](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L208)* +*Defined in [index.ts:214](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L214)* ___ @@ -834,7 +849,7 @@ ___ • **Push7**: = "PUSH7" -*Defined in [index.ts:209](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L209)* +*Defined in [index.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L215)* ___ @@ -842,7 +857,7 @@ ___ • **Push8**: = "PUSH8" -*Defined in [index.ts:210](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L210)* +*Defined in [index.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L216)* ___ @@ -850,7 +865,7 @@ ___ • **Push9**: = "PUSH9" -*Defined in [index.ts:211](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L211)* +*Defined in [index.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L217)* ___ @@ -858,7 +873,7 @@ ___ • **Return**: = "RETURN" -*Defined in [index.ts:278](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L278)* +*Defined in [index.ts:284](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L284)* ___ @@ -866,7 +881,7 @@ ___ • **ReturnDataCopy**: = "RETURNDATACOPY" -*Defined in [index.ts:181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L181)* +*Defined in [index.ts:187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L187)* ___ @@ -874,7 +889,7 @@ ___ • **ReturnDataSize**: = "RETURNDATASIZE" -*Defined in [index.ts:180](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L180)* +*Defined in [index.ts:186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L186)* ___ @@ -882,7 +897,7 @@ ___ • **Revert**: = "REVERT" -*Defined in [index.ts:281](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L281)* +*Defined in [index.ts:287](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L287)* ___ @@ -890,7 +905,7 @@ ___ • **SDiv**: = "SDIV" -*Defined in [index.ts:145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L145)* +*Defined in [index.ts:151](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L151)* ___ @@ -898,7 +913,7 @@ ___ • **SGt**: = "SGT" -*Defined in [index.ts:156](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L156)* +*Defined in [index.ts:162](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L162)* ___ @@ -906,7 +921,7 @@ ___ • **SLoad**: = "SLOAD" -*Defined in [index.ts:194](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L194)* +*Defined in [index.ts:200](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L200)* ___ @@ -914,7 +929,7 @@ ___ • **SLt**: = "SLT" -*Defined in [index.ts:155](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L155)* +*Defined in [index.ts:161](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L161)* ___ @@ -922,7 +937,7 @@ ___ • **SMod**: = "SMOD" -*Defined in [index.ts:147](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L147)* +*Defined in [index.ts:153](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L153)* ___ @@ -930,7 +945,7 @@ ___ • **SStore**: = "SSTORE" -*Defined in [index.ts:195](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L195)* +*Defined in [index.ts:201](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L201)* ___ @@ -938,7 +953,7 @@ ___ • **SelfDestruct**: = "SELFDESTRUCT" -*Defined in [index.ts:283](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L283)* +*Defined in [index.ts:289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L289)* ___ @@ -946,7 +961,7 @@ ___ • **Sha3**: = "SHA3" -*Defined in [index.ts:165](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L165)* +*Defined in [index.ts:171](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L171)* ___ @@ -954,7 +969,7 @@ ___ • **SignExtend**: = "SIGNEXTEND" -*Defined in [index.ts:151](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L151)* +*Defined in [index.ts:157](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L157)* ___ @@ -962,7 +977,7 @@ ___ • **StaticCall**: = "STATICCALL" -*Defined in [index.ts:280](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L280)* +*Defined in [index.ts:286](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L286)* ___ @@ -970,7 +985,7 @@ ___ • **Stop**: = "STOP" -*Defined in [index.ts:140](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L140)* +*Defined in [index.ts:146](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L146)* ___ @@ -978,7 +993,7 @@ ___ • **Sub**: = "SUB" -*Defined in [index.ts:143](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L143)* +*Defined in [index.ts:149](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L149)* ___ @@ -986,7 +1001,7 @@ ___ • **Swap1**: = "SWAP1" -*Defined in [index.ts:253](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L253)* +*Defined in [index.ts:259](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L259)* ___ @@ -994,7 +1009,7 @@ ___ • **Swap10**: = "SWAP10" -*Defined in [index.ts:262](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L262)* +*Defined in [index.ts:268](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L268)* ___ @@ -1002,7 +1017,7 @@ ___ • **Swap11**: = "SWAP11" -*Defined in [index.ts:263](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L263)* +*Defined in [index.ts:269](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L269)* ___ @@ -1010,7 +1025,7 @@ ___ • **Swap12**: = "SWAP12" -*Defined in [index.ts:264](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L264)* +*Defined in [index.ts:270](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L270)* ___ @@ -1018,7 +1033,7 @@ ___ • **Swap13**: = "SWAP13" -*Defined in [index.ts:265](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L265)* +*Defined in [index.ts:271](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L271)* ___ @@ -1026,7 +1041,7 @@ ___ • **Swap14**: = "SWAP14" -*Defined in [index.ts:266](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L266)* +*Defined in [index.ts:272](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L272)* ___ @@ -1034,7 +1049,7 @@ ___ • **Swap15**: = "SWAP15" -*Defined in [index.ts:267](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L267)* +*Defined in [index.ts:273](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L273)* ___ @@ -1042,7 +1057,7 @@ ___ • **Swap16**: = "SWAP16" -*Defined in [index.ts:268](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L268)* +*Defined in [index.ts:274](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L274)* ___ @@ -1050,7 +1065,7 @@ ___ • **Swap2**: = "SWAP2" -*Defined in [index.ts:254](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L254)* +*Defined in [index.ts:260](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L260)* ___ @@ -1058,7 +1073,7 @@ ___ • **Swap3**: = "SWAP3" -*Defined in [index.ts:255](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L255)* +*Defined in [index.ts:261](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L261)* ___ @@ -1066,7 +1081,7 @@ ___ • **Swap4**: = "SWAP4" -*Defined in [index.ts:256](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L256)* +*Defined in [index.ts:262](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L262)* ___ @@ -1074,7 +1089,7 @@ ___ • **Swap5**: = "SWAP5" -*Defined in [index.ts:257](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L257)* +*Defined in [index.ts:263](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L263)* ___ @@ -1082,7 +1097,7 @@ ___ • **Swap6**: = "SWAP6" -*Defined in [index.ts:258](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L258)* +*Defined in [index.ts:264](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L264)* ___ @@ -1090,7 +1105,7 @@ ___ • **Swap7**: = "SWAP7" -*Defined in [index.ts:259](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L259)* +*Defined in [index.ts:265](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L265)* ___ @@ -1098,7 +1113,7 @@ ___ • **Swap8**: = "SWAP8" -*Defined in [index.ts:260](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L260)* +*Defined in [index.ts:266](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L266)* ___ @@ -1106,7 +1121,7 @@ ___ • **Swap9**: = "SWAP9" -*Defined in [index.ts:261](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L261)* +*Defined in [index.ts:267](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L267)* ___ @@ -1114,7 +1129,7 @@ ___ • **TimeStamp**: = "TimeStamp" -*Defined in [index.ts:185](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L185)* +*Defined in [index.ts:191](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L191)* ___ @@ -1122,7 +1137,7 @@ ___ • **Xor**: = "XOR" -*Defined in [index.ts:161](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L161)* +*Defined in [index.ts:167](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L167)*
@@ -1135,7 +1150,7 @@ ___ • **Address**: = "address" -*Defined in [index.ts:489](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L489)* +*Defined in [index.ts:497](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L497)* ___ @@ -1143,7 +1158,7 @@ ___ • **Bool**: = "bool" -*Defined in [index.ts:490](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L490)* +*Defined in [index.ts:498](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L498)* ___ @@ -1151,7 +1166,7 @@ ___ • **Bytes**: = "bytes" -*Defined in [index.ts:491](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L491)* +*Defined in [index.ts:499](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L499)* ___ @@ -1159,7 +1174,7 @@ ___ • **Int**: = "int" -*Defined in [index.ts:492](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L492)* +*Defined in [index.ts:500](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L500)* ___ @@ -1167,7 +1182,7 @@ ___ • **String**: = "string" -*Defined in [index.ts:493](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L493)* +*Defined in [index.ts:501](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L501)* ___ @@ -1175,7 +1190,7 @@ ___ • **Tuple**: = "tuple" -*Defined in [index.ts:494](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L494)* +*Defined in [index.ts:502](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L502)* ___ @@ -1183,7 +1198,7 @@ ___ • **Uint**: = "uint" -*Defined in [index.ts:497](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L497)* +*Defined in [index.ts:505](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L505)* ___ @@ -1191,7 +1206,7 @@ ___ • **Uint256**: = "uint256" -*Defined in [index.ts:495](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L495)* +*Defined in [index.ts:503](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L503)* ___ @@ -1199,7 +1214,7 @@ ___ • **Uint8**: = "uint8" -*Defined in [index.ts:496](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L496)* +*Defined in [index.ts:504](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L504)*
@@ -1212,7 +1227,7 @@ ___ • **difficulty**: *`BigNumber`* -*Defined in [index.ts:350](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L350)* +*Defined in [index.ts:356](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L356)* ___ @@ -1220,7 +1235,7 @@ ___ • **extraData**: *string* -*Defined in [index.ts:352](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L352)* +*Defined in [index.ts:358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L358)* ___ @@ -1228,7 +1243,7 @@ ___ • **gasLimit**: *number* -*Defined in [index.ts:354](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L354)* +*Defined in [index.ts:360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L360)* ___ @@ -1236,7 +1251,7 @@ ___ • **gasUsed**: *number* -*Defined in [index.ts:355](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L355)* +*Defined in [index.ts:361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L361)* ___ @@ -1244,7 +1259,7 @@ ___ • **hash**: *string | null* -*Defined in [index.ts:342](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L342)* +*Defined in [index.ts:348](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L348)* ___ @@ -1252,7 +1267,7 @@ ___ • **logsBloom**: *string | null* -*Defined in [index.ts:346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L346)* +*Defined in [index.ts:352](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L352)* ___ @@ -1260,7 +1275,7 @@ ___ • **miner**: *string* -*Defined in [index.ts:349](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L349)* +*Defined in [index.ts:355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L355)* ___ @@ -1268,7 +1283,7 @@ ___ • **nonce**: *string | null* -*Defined in [index.ts:344](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L344)* +*Defined in [index.ts:350](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L350)* ___ @@ -1276,7 +1291,7 @@ ___ • **number**: *number | null* -*Defined in [index.ts:341](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L341)* +*Defined in [index.ts:347](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L347)* ___ @@ -1284,7 +1299,7 @@ ___ • **parentHash**: *string* -*Defined in [index.ts:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L343)* +*Defined in [index.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L349)* ___ @@ -1292,7 +1307,7 @@ ___ • **sha3Uncles**: *string* -*Defined in [index.ts:345](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L345)* +*Defined in [index.ts:351](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L351)* ___ @@ -1300,7 +1315,7 @@ ___ • **size**: *number* -*Defined in [index.ts:353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L353)* +*Defined in [index.ts:359](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L359)* ___ @@ -1308,7 +1323,7 @@ ___ • **stateRoot**: *string* -*Defined in [index.ts:348](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L348)* +*Defined in [index.ts:354](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L354)* ___ @@ -1316,7 +1331,7 @@ ___ • **timestamp**: *number* -*Defined in [index.ts:356](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L356)* +*Defined in [index.ts:362](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L362)* ___ @@ -1324,7 +1339,7 @@ ___ • **totalDifficulty**: *`BigNumber`* -*Defined in [index.ts:351](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L351)* +*Defined in [index.ts:357](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L357)* ___ @@ -1332,7 +1347,7 @@ ___ • **transactionsRoot**: *string* -*Defined in [index.ts:347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L347)* +*Defined in [index.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L353)* ___ @@ -1340,7 +1355,7 @@ ___ • **uncles**: *string[]* -*Defined in [index.ts:357](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L357)* +*Defined in [index.ts:363](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L363)*
@@ -1353,7 +1368,7 @@ ___ • **fromBlock**: *[BlockParam](#blockparam)* -*Defined in [index.ts:732](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L732)* +*Defined in [index.ts:740](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L740)* ___ @@ -1361,7 +1376,7 @@ ___ • **toBlock**: *[BlockParam](#blockparam)* -*Defined in [index.ts:733](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L733)* +*Defined in [index.ts:741](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L741)*
@@ -1376,7 +1391,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[difficulty](#difficulty)* -*Defined in [index.ts:350](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L350)* +*Defined in [index.ts:356](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L356)* ___ @@ -1386,7 +1401,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[extraData](#extradata)* -*Defined in [index.ts:352](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L352)* +*Defined in [index.ts:358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L358)* ___ @@ -1396,7 +1411,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[gasLimit](#gaslimit)* -*Defined in [index.ts:354](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L354)* +*Defined in [index.ts:360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L360)* ___ @@ -1406,7 +1421,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[gasUsed](#gasused)* -*Defined in [index.ts:355](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L355)* +*Defined in [index.ts:361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L361)* ___ @@ -1416,7 +1431,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[hash](#hash)* -*Defined in [index.ts:342](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L342)* +*Defined in [index.ts:348](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L348)* ___ @@ -1426,7 +1441,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[logsBloom](#logsbloom)* -*Defined in [index.ts:346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L346)* +*Defined in [index.ts:352](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L352)* ___ @@ -1436,7 +1451,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[miner](#miner)* -*Defined in [index.ts:349](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L349)* +*Defined in [index.ts:355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L355)* ___ @@ -1446,7 +1461,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[nonce](#nonce)* -*Defined in [index.ts:344](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L344)* +*Defined in [index.ts:350](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L350)* ___ @@ -1456,7 +1471,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[number](#number)* -*Defined in [index.ts:341](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L341)* +*Defined in [index.ts:347](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L347)* ___ @@ -1466,7 +1481,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[parentHash](#parenthash)* -*Defined in [index.ts:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L343)* +*Defined in [index.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L349)* ___ @@ -1476,7 +1491,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[sha3Uncles](#sha3uncles)* -*Defined in [index.ts:345](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L345)* +*Defined in [index.ts:351](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L351)* ___ @@ -1486,7 +1501,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[size](#size)* -*Defined in [index.ts:353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L353)* +*Defined in [index.ts:359](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L359)* ___ @@ -1496,7 +1511,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[stateRoot](#stateroot)* -*Defined in [index.ts:348](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L348)* +*Defined in [index.ts:354](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L354)* ___ @@ -1506,7 +1521,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[timestamp](#timestamp)* -*Defined in [index.ts:356](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L356)* +*Defined in [index.ts:362](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L362)* ___ @@ -1516,7 +1531,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[totalDifficulty](#totaldifficulty)* -*Defined in [index.ts:351](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L351)* +*Defined in [index.ts:357](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L357)* ___ @@ -1524,7 +1539,7 @@ ___ • **transactions**: *string[]* -*Defined in [index.ts:361](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L361)* +*Defined in [index.ts:367](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L367)* ___ @@ -1534,7 +1549,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[transactionsRoot](#transactionsroot)* -*Defined in [index.ts:347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L347)* +*Defined in [index.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L353)* ___ @@ -1544,7 +1559,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[uncles](#uncles)* -*Defined in [index.ts:357](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L357)* +*Defined in [index.ts:363](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L363)*
@@ -1559,7 +1574,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[difficulty](#difficulty)* -*Defined in [index.ts:350](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L350)* +*Defined in [index.ts:356](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L356)* ___ @@ -1569,7 +1584,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[extraData](#extradata)* -*Defined in [index.ts:352](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L352)* +*Defined in [index.ts:358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L358)* ___ @@ -1579,7 +1594,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[gasLimit](#gaslimit)* -*Defined in [index.ts:354](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L354)* +*Defined in [index.ts:360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L360)* ___ @@ -1589,7 +1604,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[gasUsed](#gasused)* -*Defined in [index.ts:355](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L355)* +*Defined in [index.ts:361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L361)* ___ @@ -1599,7 +1614,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[hash](#hash)* -*Defined in [index.ts:342](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L342)* +*Defined in [index.ts:348](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L348)* ___ @@ -1609,7 +1624,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[logsBloom](#logsbloom)* -*Defined in [index.ts:346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L346)* +*Defined in [index.ts:352](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L352)* ___ @@ -1619,7 +1634,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[miner](#miner)* -*Defined in [index.ts:349](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L349)* +*Defined in [index.ts:355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L355)* ___ @@ -1629,7 +1644,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[nonce](#nonce)* -*Defined in [index.ts:344](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L344)* +*Defined in [index.ts:350](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L350)* ___ @@ -1639,7 +1654,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[number](#number)* -*Defined in [index.ts:341](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L341)* +*Defined in [index.ts:347](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L347)* ___ @@ -1649,7 +1664,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[parentHash](#parenthash)* -*Defined in [index.ts:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L343)* +*Defined in [index.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L349)* ___ @@ -1659,7 +1674,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[sha3Uncles](#sha3uncles)* -*Defined in [index.ts:345](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L345)* +*Defined in [index.ts:351](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L351)* ___ @@ -1669,7 +1684,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[size](#size)* -*Defined in [index.ts:353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L353)* +*Defined in [index.ts:359](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L359)* ___ @@ -1679,7 +1694,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[stateRoot](#stateroot)* -*Defined in [index.ts:348](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L348)* +*Defined in [index.ts:354](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L354)* ___ @@ -1689,7 +1704,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[timestamp](#timestamp)* -*Defined in [index.ts:356](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L356)* +*Defined in [index.ts:362](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L362)* ___ @@ -1699,7 +1714,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[totalDifficulty](#totaldifficulty)* -*Defined in [index.ts:351](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L351)* +*Defined in [index.ts:357](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L357)* ___ @@ -1707,7 +1722,7 @@ ___ • **transactions**: *[Transaction](#class-transaction)[]* -*Defined in [index.ts:365](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L365)* +*Defined in [index.ts:371](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L371)* ___ @@ -1717,7 +1732,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[transactionsRoot](#transactionsroot)* -*Defined in [index.ts:347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L347)* +*Defined in [index.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L353)* ___ @@ -1727,7 +1742,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[uncles](#uncles)* -*Defined in [index.ts:357](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L357)* +*Defined in [index.ts:363](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L363)*
@@ -1742,7 +1757,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -1750,7 +1765,7 @@ ___ • **from**? : *undefined | string* -*Defined in [index.ts:396](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L396)* +*Defined in [index.ts:402](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L402)* ___ @@ -1760,7 +1775,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -1770,7 +1785,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -1780,7 +1795,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -1790,7 +1805,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -1800,7 +1815,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* -*Defined in [index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)* +*Defined in [index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)*
@@ -1813,7 +1828,7 @@ ___ • **data**? : *undefined | string* -*Defined in [index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -1821,7 +1836,7 @@ ___ • **gas**? : *number | string | `BigNumber`* -*Defined in [index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -1829,7 +1844,7 @@ ___ • **gasPrice**? : *number | string | `BigNumber`* -*Defined in [index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -1837,7 +1852,7 @@ ___ • **nonce**? : *undefined | number* -*Defined in [index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -1845,7 +1860,7 @@ ___ • **to**? : *undefined | string* -*Defined in [index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -1853,7 +1868,7 @@ ___ • **value**? : *number | string | `BigNumber`* -*Defined in [index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)* +*Defined in [index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)*
@@ -1878,7 +1893,7 @@ contracts to compile with the the version specified here. • **artifactsDir**? : *undefined | string* -*Defined in [index.ts:723](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L723)* +*Defined in [index.ts:731](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L731)* ___ @@ -1886,7 +1901,7 @@ ___ • **compilerSettings**? : *[CompilerSettings](#class-compilersettings)* -*Defined in [index.ts:724](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L724)* +*Defined in [index.ts:732](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L732)* ___ @@ -1894,7 +1909,7 @@ ___ • **contracts**? : *string[] | "*"* -*Defined in [index.ts:725](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L725)* +*Defined in [index.ts:733](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L733)* ___ @@ -1902,7 +1917,7 @@ ___ • **contractsDir**? : *undefined | string* -*Defined in [index.ts:722](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L722)* +*Defined in [index.ts:730](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L730)* ___ @@ -1910,7 +1925,7 @@ ___ • **isOfflineMode**? : *undefined | false | true* -*Defined in [index.ts:727](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L727)* +*Defined in [index.ts:735](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L735)* ___ @@ -1918,7 +1933,7 @@ ___ • **solcVersion**? : *undefined | string* -*Defined in [index.ts:728](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L728)* +*Defined in [index.ts:736](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L736)* ___ @@ -1926,7 +1941,7 @@ ___ • **useDockerisedSolc**? : *undefined | false | true* -*Defined in [index.ts:726](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L726)* +*Defined in [index.ts:734](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L734)*
@@ -1939,7 +1954,7 @@ ___ • **name**: *"solc"* -*Defined in [index.ts:647](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L647)* +*Defined in [index.ts:655](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L655)* ___ @@ -1947,7 +1962,7 @@ ___ • **settings**: *[CompilerSettings](#class-compilersettings)* -*Defined in [index.ts:649](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L649)* +*Defined in [index.ts:657](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L657)* ___ @@ -1955,7 +1970,7 @@ ___ • **version**: *string* -*Defined in [index.ts:648](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L648)* +*Defined in [index.ts:656](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L656)*
@@ -1968,7 +1983,7 @@ ___ • **evmVersion**? : *"homestead" | "tangerineWhistle" | "spuriousDragon" | "byzantium" | "constantinople"* -*Defined in [index.ts:681](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L681)* +*Defined in [index.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L689)* ___ @@ -1976,7 +1991,7 @@ ___ • **libraries**? : *undefined | object* -*Defined in [index.ts:683](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L683)* +*Defined in [index.ts:691](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L691)* ___ @@ -1984,7 +1999,7 @@ ___ • **metadata**? : *[CompilerSettingsMetadata](#class-compilersettingsmetadata)* -*Defined in [index.ts:682](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L682)* +*Defined in [index.ts:690](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L690)* ___ @@ -1992,7 +2007,7 @@ ___ • **optimizer**? : *[OptimizerSettings](#class-optimizersettings)* -*Defined in [index.ts:680](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L680)* +*Defined in [index.ts:688](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L688)* ___ @@ -2000,7 +2015,7 @@ ___ • **outputSelection**: *object* -*Defined in [index.ts:688](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L688)* +*Defined in [index.ts:696](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L696)* #### Type declaration: @@ -2014,7 +2029,7 @@ ___ • **remappings**? : *string[]* -*Defined in [index.ts:679](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L679)* +*Defined in [index.ts:687](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L687)*
@@ -2027,7 +2042,7 @@ ___ • **useLiteralContent**: *true* -*Defined in [index.ts:696](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L696)* +*Defined in [index.ts:704](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L704)*
@@ -2040,7 +2055,7 @@ ___ • **inputs**: *[DataItem](#class-dataitem)[]* -*Defined in [index.ts:103](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L103)* +*Defined in [index.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L103)* ___ @@ -2048,7 +2063,7 @@ ___ • **payable**: *boolean* -*Defined in [index.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L104)* +*Defined in [index.ts:104](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L104)* ___ @@ -2056,7 +2071,7 @@ ___ • **stateMutability**: *[ConstructorStateMutability](#constructorstatemutability)* -*Defined in [index.ts:105](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L105)* +*Defined in [index.ts:105](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L105)* ___ @@ -2064,7 +2079,7 @@ ___ • **type**: *string* -*Defined in [index.ts:102](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L102)* +*Defined in [index.ts:102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L102)*
@@ -2091,7 +2106,7 @@ If any of the sources change, the hash would change notifying us that a re-compi *Inherited from [ContractVersionData](#interface-contractversiondata).[compiler](#compiler)* -*Defined in [index.ts:633](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L633)* +*Defined in [index.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L641)* ___ @@ -2101,7 +2116,7 @@ ___ *Inherited from [ContractVersionData](#interface-contractversiondata).[compilerOutput](#compileroutput)* -*Defined in [index.ts:643](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L643)* +*Defined in [index.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L651)* ___ @@ -2109,7 +2124,7 @@ ___ • **contractName**: *string* -*Defined in [index.ts:667](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L667)* +*Defined in [index.ts:675](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L675)* ___ @@ -2117,7 +2132,7 @@ ___ • **networks**: *[ContractNetworks](#class-contractnetworks)* -*Defined in [index.ts:668](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L668)* +*Defined in [index.ts:676](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L676)* ___ @@ -2125,7 +2140,7 @@ ___ • **schemaVersion**: *string* -*Defined in [index.ts:666](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L666)* +*Defined in [index.ts:674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L674)* ___ @@ -2135,7 +2150,7 @@ ___ *Inherited from [ContractVersionData](#interface-contractversiondata).[sourceCodes](#sourcecodes)* -*Defined in [index.ts:639](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L639)* +*Defined in [index.ts:647](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L647)* #### Type declaration: @@ -2149,7 +2164,7 @@ ___ *Inherited from [ContractVersionData](#interface-contractversiondata).[sourceTreeHashHex](#sourcetreehashhex)* -*Defined in [index.ts:642](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L642)* +*Defined in [index.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L650)* ___ @@ -2159,7 +2174,7 @@ ___ *Inherited from [ContractVersionData](#interface-contractversiondata).[sources](#sources)* -*Defined in [index.ts:634](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L634)* +*Defined in [index.ts:642](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L642)* #### Type declaration: @@ -2176,7 +2191,7 @@ ___ • **address**: *string* -*Defined in [index.ts:546](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L546)* +*Defined in [index.ts:554](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L554)* ___ @@ -2184,7 +2199,7 @@ Args • **constructorArgs**: *string* -*Defined in [index.ts:550](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L550)* +*Defined in [index.ts:558](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L558)* ___ @@ -2192,7 +2207,7 @@ ___ • **links**: *object* -*Defined in [index.ts:547](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L547)* +*Defined in [index.ts:555](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L555)* #### Type declaration: @@ -2216,7 +2231,7 @@ ___ • **compiler**: *[CompilerOpts](#class-compileropts)* -*Defined in [index.ts:633](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L633)* +*Defined in [index.ts:641](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L641)* ___ @@ -2224,7 +2239,7 @@ ___ • **compilerOutput**: *[StandardContractOutput](#class-standardcontractoutput)* -*Defined in [index.ts:643](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L643)* +*Defined in [index.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L651)* ___ @@ -2232,7 +2247,7 @@ ___ • **sourceCodes**: *object* -*Defined in [index.ts:639](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L639)* +*Defined in [index.ts:647](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L647)* #### Type declaration: @@ -2244,7 +2259,7 @@ ___ • **sourceTreeHashHex**: *string* -*Defined in [index.ts:642](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L642)* +*Defined in [index.ts:650](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L650)* ___ @@ -2252,7 +2267,7 @@ ___ • **sources**: *object* -*Defined in [index.ts:634](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L634)* +*Defined in [index.ts:642](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L642)* #### Type declaration: @@ -2269,7 +2284,7 @@ ___ • **components**? : *[DataItem](#class-dataitem)[]* -*Defined in [index.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L131)* +*Defined in [index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* ___ @@ -2277,7 +2292,7 @@ ___ • **name**: *string* -*Defined in [index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -2285,7 +2300,7 @@ ___ • **type**: *string* -*Defined in [index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -2305,7 +2320,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -2313,7 +2328,7 @@ ___ • **args**: *`A`* -*Defined in [index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* ___ @@ -2323,7 +2338,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -*Defined in [index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -2333,7 +2348,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -*Defined in [index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -2343,7 +2358,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -2351,7 +2366,7 @@ ___ • **event**: *string* -*Defined in [index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +*Defined in [index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* ___ @@ -2361,7 +2376,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -2371,7 +2386,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -2381,7 +2396,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -*Defined in [index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -2391,7 +2406,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -2410,7 +2425,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -2420,7 +2435,7 @@ ___ *Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* -*Defined in [index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* ___ @@ -2430,7 +2445,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -*Defined in [index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -2440,7 +2455,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -*Defined in [index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -2450,7 +2465,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -2460,7 +2475,7 @@ ___ *Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* -*Defined in [index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +*Defined in [index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* ___ @@ -2470,7 +2485,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -2478,7 +2493,7 @@ ___ • **removed**: *boolean* -*Defined in [index.ts:415](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L415)* +*Defined in [index.ts:421](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L421)* ___ @@ -2488,7 +2503,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -2498,7 +2513,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -*Defined in [index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -2508,7 +2523,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -2521,7 +2536,7 @@ ___ • **author**? : *undefined | string* -*Defined in [index.ts:620](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L620)* +*Defined in [index.ts:628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L628)* ___ @@ -2529,7 +2544,7 @@ ___ • **methods**: *object* -*Defined in [index.ts:621](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L621)* +*Defined in [index.ts:629](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L629)* #### Type declaration: @@ -2541,7 +2556,7 @@ ___ • **title**? : *undefined | string* -*Defined in [index.ts:619](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L619)* +*Defined in [index.ts:627](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L627)*
@@ -2554,7 +2569,7 @@ ___ • **isEIP1193**: *boolean* -*Defined in [index.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L73)* +*Defined in [index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* ## Methods @@ -2562,7 +2577,7 @@ ___ ▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* -*Defined in [index.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L75)* +*Defined in [index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* **Parameters:** @@ -2586,7 +2601,7 @@ ___ ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [index.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L74)* +*Defined in [index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* **Parameters:** @@ -2608,7 +2623,7 @@ Name | Type | • **anonymous**: *boolean* -*Defined in [index.ts:125](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L125)* +*Defined in [index.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L131)* ___ @@ -2616,7 +2631,7 @@ ___ • **inputs**: *[EventParameter](#class-eventparameter)[]* -*Defined in [index.ts:124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L124)* +*Defined in [index.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L130)* ___ @@ -2624,7 +2639,7 @@ ___ • **name**: *string* -*Defined in [index.ts:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L123)* +*Defined in [index.ts:129](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L129)* ___ @@ -2632,7 +2647,7 @@ ___ • **type**: *string* -*Defined in [index.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L122)* +*Defined in [index.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L128)*
@@ -2647,7 +2662,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[components](#optional-components)* -*Defined in [index.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L131)* +*Defined in [index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* ___ @@ -2655,7 +2670,7 @@ ___ • **indexed**: *boolean* -*Defined in [index.ts:116](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L116)* +*Defined in [index.ts:116](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L116)* ___ @@ -2665,7 +2680,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[name](#name)* -*Defined in [index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -2675,7 +2690,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[type](#type)* -*Defined in [index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -2688,7 +2703,7 @@ ___ • **object**: *string* -*Defined in [index.ts:614](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L614)* +*Defined in [index.ts:622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L622)* ___ @@ -2696,7 +2711,7 @@ ___ • **sourceMap**: *string* -*Defined in [index.ts:615](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L615)* +*Defined in [index.ts:623](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L623)*
@@ -2709,7 +2724,7 @@ ___ • **bytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* -*Defined in [index.ts:609](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L609)* +*Defined in [index.ts:617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L617)* ___ @@ -2717,7 +2732,7 @@ ___ • **deployedBytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* -*Defined in [index.ts:610](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L610)* +*Defined in [index.ts:618](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L618)*
@@ -2730,7 +2745,7 @@ ___ • **payable**: *boolean* -*Defined in [index.ts:112](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L112)* +*Defined in [index.ts:112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L112)* ___ @@ -2738,7 +2753,7 @@ ___ • **type**: *string* -*Defined in [index.ts:111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L111)* +*Defined in [index.ts:111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L111)*
@@ -2751,7 +2766,7 @@ ___ • **address**? : *undefined | string* -*Defined in [index.ts:403](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L403)* +*Defined in [index.ts:409](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L409)* ___ @@ -2759,7 +2774,7 @@ ___ • **blockHash**? : *undefined | string* -*Defined in [index.ts:402](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L402)* +*Defined in [index.ts:408](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L408)* ___ @@ -2767,7 +2782,7 @@ ___ • **fromBlock**? : *number | string* -*Defined in [index.ts:400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L400)* +*Defined in [index.ts:406](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L406)* ___ @@ -2775,7 +2790,7 @@ ___ • **toBlock**? : *number | string* -*Defined in [index.ts:401](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L401)* +*Defined in [index.ts:407](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L407)* ___ @@ -2783,44 +2798,29 @@ ___ • **topics**? : *[LogTopic](#logtopic)[]* -*Defined in [index.ts:404](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L404)* +*Defined in [index.ts:410](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L410)*
-# Enumeration: AbiType - - -## Enumeration members - -### Constructor - -• **Constructor**: = "constructor" - -*Defined in [index.ts:455](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L455)* - -___ - -### Event - -• **Event**: = "event" - -*Defined in [index.ts:456](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L456)* +# Interface: GanacheProvider -___ -### Fallback +## Methods -• **Fallback**: = "fallback" +### sendAsync -*Defined in [index.ts:457](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L457)* +▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -___ +*Defined in [index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* -### Function +**Parameters:** -• **Function**: = "function" +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | -*Defined in [index.ts:454](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L454)* +**Returns:** *void*
@@ -2833,7 +2833,7 @@ ___ • **name**: *"solc"* -*Defined in [index.ts:672](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L672)* +*Defined in [index.ts:680](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L680)* ___ @@ -2841,7 +2841,7 @@ ___ • **settings**: *[CompilerSettings](#class-compilersettings)* -*Defined in [index.ts:674](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L674)* +*Defined in [index.ts:682](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L682)* ___ @@ -2849,7 +2849,7 @@ ___ • **version**: *string* -*Defined in [index.ts:673](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L673)* +*Defined in [index.ts:681](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L681)*
@@ -2862,7 +2862,7 @@ ___ • **id**: *number* -*Defined in [index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -2870,7 +2870,7 @@ ___ • **jsonrpc**: *string* -*Defined in [index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -2878,7 +2878,7 @@ ___ • **method**: *string* -*Defined in [index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -2886,7 +2886,7 @@ ___ • **params**: *any[]* -*Defined in [index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -2899,7 +2899,7 @@ ___ • **code**: *number* -*Defined in [index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -2907,7 +2907,7 @@ ___ • **message**: *string* -*Defined in [index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -2920,7 +2920,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -2928,7 +2928,7 @@ ___ • **id**: *number* -*Defined in [index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -2936,7 +2936,7 @@ ___ • **jsonrpc**: *string* -*Defined in [index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -2944,7 +2944,7 @@ ___ • **result**: *any* -*Defined in [index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -2957,7 +2957,7 @@ ___ • **address**: *string* -*Defined in [index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -2965,7 +2965,7 @@ ___ • **blockHash**: *string | null* -*Defined in [index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -2973,7 +2973,7 @@ ___ • **blockNumber**: *number | null* -*Defined in [index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -2981,7 +2981,7 @@ ___ • **data**: *string* -*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -2989,7 +2989,7 @@ ___ • **logIndex**: *number | null* -*Defined in [index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -2997,7 +2997,7 @@ ___ • **topics**: *string[]* -*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -3005,7 +3005,7 @@ ___ • **transactionHash**: *string* -*Defined in [index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -3013,7 +3013,7 @@ ___ • **transactionIndex**: *number | null* -*Defined in [index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -3028,7 +3028,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -3038,7 +3038,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -*Defined in [index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -3048,7 +3048,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -*Defined in [index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -3058,7 +3058,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -3068,7 +3068,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -3076,7 +3076,7 @@ ___ • **removed**: *boolean* -*Defined in [index.ts:419](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L419)* +*Defined in [index.ts:425](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L425)* ___ @@ -3086,7 +3086,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -3096,7 +3096,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -*Defined in [index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -3106,7 +3106,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -3125,7 +3125,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -3135,7 +3135,7 @@ ___ *Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* -*Defined in [index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* ___ @@ -3145,7 +3145,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -*Defined in [index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -3155,7 +3155,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -*Defined in [index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -3165,7 +3165,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -3175,7 +3175,7 @@ ___ *Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* -*Defined in [index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +*Defined in [index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* ___ @@ -3185,7 +3185,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -3195,7 +3195,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -3205,7 +3205,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -*Defined in [index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -3215,7 +3215,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -3228,7 +3228,7 @@ ___ • **constant**: *boolean* -*Defined in [index.ts:94](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L94)* +*Defined in [index.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L94)* ___ @@ -3236,7 +3236,7 @@ ___ • **inputs**: *[DataItem](#class-dataitem)[]* -*Defined in [index.ts:92](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L92)* +*Defined in [index.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L92)* ___ @@ -3244,7 +3244,7 @@ ___ • **name**: *string* -*Defined in [index.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L91)* +*Defined in [index.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L91)* ___ @@ -3252,7 +3252,7 @@ ___ • **outputs**: *[DataItem](#class-dataitem)[]* -*Defined in [index.ts:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L93)* +*Defined in [index.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L93)* ___ @@ -3260,7 +3260,7 @@ ___ • **payable**: *boolean* -*Defined in [index.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L96)* +*Defined in [index.ts:96](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L96)* ___ @@ -3268,7 +3268,7 @@ ___ • **stateMutability**: *[StateMutability](#statemutability)* -*Defined in [index.ts:95](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L95)* +*Defined in [index.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L95)* ___ @@ -3276,7 +3276,7 @@ ___ • **type**: *string* -*Defined in [index.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L90)* +*Defined in [index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L90)*
@@ -3289,7 +3289,7 @@ ___ • **enabled**: *boolean* -*Defined in [index.ts:700](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L700)* +*Defined in [index.ts:708](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L708)* ___ @@ -3297,7 +3297,7 @@ ___ • **runs**? : *undefined | number* -*Defined in [index.ts:701](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L701)* +*Defined in [index.ts:709](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L709)*
@@ -3310,7 +3310,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [index.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L20)* +*Defined in [index.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L20)* **Parameters:** @@ -3332,7 +3332,7 @@ Name | Type | • **address**: *string* -*Defined in [index.ts:483](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L483)* +*Defined in [index.ts:491](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L491)* ___ @@ -3340,7 +3340,7 @@ ___ • **blockHash**: *string | null* -*Defined in [index.ts:481](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L481)* +*Defined in [index.ts:489](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L489)* ___ @@ -3348,7 +3348,7 @@ ___ • **blockNumber**: *string | null* -*Defined in [index.ts:482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L482)* +*Defined in [index.ts:490](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L490)* ___ @@ -3356,7 +3356,7 @@ ___ • **data**: *string* -*Defined in [index.ts:484](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L484)* +*Defined in [index.ts:492](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L492)* ___ @@ -3364,7 +3364,7 @@ ___ • **logIndex**: *string | null* -*Defined in [index.ts:478](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L478)* +*Defined in [index.ts:486](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L486)* ___ @@ -3372,7 +3372,7 @@ ___ • **topics**: *string[]* -*Defined in [index.ts:485](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L485)* +*Defined in [index.ts:493](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L493)* ___ @@ -3380,7 +3380,7 @@ ___ • **transactionHash**: *string* -*Defined in [index.ts:480](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L480)* +*Defined in [index.ts:488](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L488)* ___ @@ -3388,7 +3388,36 @@ ___ • **transactionIndex**: *string | null* -*Defined in [index.ts:479](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L479)* +*Defined in [index.ts:487](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L487)* + +
+ +# Interface: RevertErrorAbi + + +## Properties + +### `Optional` arguments + +• **arguments**? : *[DataItem](#class-dataitem)[]* + +*Defined in [index.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L122)* + +___ + +### name + +• **name**: *string* + +*Defined in [index.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L121)* + +___ + +### type + +• **type**: *"error"* + +*Defined in [index.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L120)*
@@ -3401,7 +3430,7 @@ ___ • **component**: *"general" | "ewasm"* -*Defined in [index.ts:596](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L596)* +*Defined in [index.ts:604](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L604)* ___ @@ -3409,7 +3438,7 @@ ___ • **formattedMessage**? : *undefined | string* -*Defined in [index.ts:599](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L599)* +*Defined in [index.ts:607](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L607)* ___ @@ -3417,7 +3446,7 @@ ___ • **message**: *string* -*Defined in [index.ts:598](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L598)* +*Defined in [index.ts:606](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L606)* ___ @@ -3425,7 +3454,7 @@ ___ • **severity**: *[ErrorSeverity](#errorseverity)* -*Defined in [index.ts:597](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L597)* +*Defined in [index.ts:605](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L605)* ___ @@ -3433,7 +3462,7 @@ ___ • **sourceLocation**? : *[SourceLocation](#class-sourcelocation)* -*Defined in [index.ts:594](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L594)* +*Defined in [index.ts:602](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L602)* ___ @@ -3441,7 +3470,7 @@ ___ • **type**: *[ErrorType](#errortype)* -*Defined in [index.ts:595](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L595)* +*Defined in [index.ts:603](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L603)*
@@ -3454,7 +3483,7 @@ ___ • **id**: *number* -*Defined in [index.ts:705](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L705)* +*Defined in [index.ts:713](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L713)*
@@ -3467,7 +3496,7 @@ ___ • **end**: *number* -*Defined in [index.ts:605](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L605)* +*Defined in [index.ts:613](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L613)* ___ @@ -3475,7 +3504,7 @@ ___ • **file**: *string* -*Defined in [index.ts:603](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L603)* +*Defined in [index.ts:611](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L611)* ___ @@ -3483,7 +3512,7 @@ ___ • **start**: *number* -*Defined in [index.ts:604](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L604)* +*Defined in [index.ts:612](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L612)*
@@ -3496,7 +3525,7 @@ ___ • **abi**: *[ContractAbi](#contractabi)* -*Defined in [index.ts:556](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L556)* +*Defined in [index.ts:564](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L564)* ___ @@ -3504,7 +3533,7 @@ ___ • **devdoc**? : *[DevdocOutput](#class-devdocoutput)* -*Defined in [index.ts:558](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L558)* +*Defined in [index.ts:566](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L566)* ___ @@ -3512,7 +3541,7 @@ ___ • **evm**: *[EvmOutput](#class-evmoutput)* -*Defined in [index.ts:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L557)* +*Defined in [index.ts:565](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L565)*
@@ -3525,7 +3554,7 @@ ___ • **contracts**: *object* -*Defined in [index.ts:570](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L570)* +*Defined in [index.ts:578](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L578)* #### Type declaration: @@ -3539,7 +3568,7 @@ ___ • **errors**: *[SolcError](#class-solcerror)[]* -*Defined in [index.ts:562](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L562)* +*Defined in [index.ts:570](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L570)* ___ @@ -3547,7 +3576,7 @@ ___ • **sources**: *object* -*Defined in [index.ts:563](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L563)* +*Defined in [index.ts:571](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L571)* #### Type declaration: @@ -3564,7 +3593,7 @@ ___ • **depth**: *number* -*Defined in [index.ts:287](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L287)* +*Defined in [index.ts:293](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L293)* ___ @@ -3572,7 +3601,7 @@ ___ • **error**: *string* -*Defined in [index.ts:288](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L288)* +*Defined in [index.ts:294](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L294)* ___ @@ -3580,7 +3609,7 @@ ___ • **gas**: *number* -*Defined in [index.ts:289](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L289)* +*Defined in [index.ts:295](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L295)* ___ @@ -3588,7 +3617,7 @@ ___ • **gasCost**: *number* -*Defined in [index.ts:290](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L290)* +*Defined in [index.ts:296](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L296)* ___ @@ -3596,7 +3625,7 @@ ___ • **memory**: *string[]* -*Defined in [index.ts:291](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L291)* +*Defined in [index.ts:297](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L297)* ___ @@ -3604,7 +3633,7 @@ ___ • **op**: *[OpCode](#enumeration-opcode)* -*Defined in [index.ts:292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L292)* +*Defined in [index.ts:298](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L298)* ___ @@ -3612,7 +3641,7 @@ ___ • **pc**: *number* -*Defined in [index.ts:293](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L293)* +*Defined in [index.ts:299](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L299)* ___ @@ -3620,7 +3649,7 @@ ___ • **stack**: *string[]* -*Defined in [index.ts:294](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L294)* +*Defined in [index.ts:300](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L300)* ___ @@ -3628,7 +3657,7 @@ ___ • **storage**: *object* -*Defined in [index.ts:295](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L295)* +*Defined in [index.ts:301](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L301)* #### Type declaration: @@ -3645,7 +3674,7 @@ ___ • **disableMemory**? : *undefined | false | true* -*Defined in [index.ts:510](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L510)* +*Defined in [index.ts:518](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L518)* ___ @@ -3653,7 +3682,7 @@ ___ • **disableStack**? : *undefined | false | true* -*Defined in [index.ts:511](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L511)* +*Defined in [index.ts:519](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L519)* ___ @@ -3661,7 +3690,7 @@ ___ • **disableStorage**? : *undefined | false | true* -*Defined in [index.ts:512](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L512)* +*Defined in [index.ts:520](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L520)* ___ @@ -3669,7 +3698,7 @@ ___ • **timeout**? : *undefined | string* -*Defined in [index.ts:514](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L514)* +*Defined in [index.ts:522](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L522)* ___ @@ -3677,7 +3706,7 @@ ___ • **tracer**? : *undefined | string* -*Defined in [index.ts:513](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L513)* +*Defined in [index.ts:521](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L521)*
@@ -3690,7 +3719,7 @@ ___ • **blockHash**: *string | null* -*Defined in [index.ts:371](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L371)* +*Defined in [index.ts:377](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L377)* ___ @@ -3698,7 +3727,7 @@ ___ • **blockNumber**: *number | null* -*Defined in [index.ts:372](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L372)* +*Defined in [index.ts:378](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L378)* ___ @@ -3706,7 +3735,7 @@ ___ • **from**: *string* -*Defined in [index.ts:374](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L374)* +*Defined in [index.ts:380](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L380)* ___ @@ -3714,7 +3743,7 @@ ___ • **gas**: *number* -*Defined in [index.ts:378](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L378)* +*Defined in [index.ts:384](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L384)* ___ @@ -3722,7 +3751,7 @@ ___ • **gasPrice**: *`BigNumber`* -*Defined in [index.ts:377](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L377)* +*Defined in [index.ts:383](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L383)* ___ @@ -3730,7 +3759,7 @@ ___ • **hash**: *string* -*Defined in [index.ts:369](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L369)* +*Defined in [index.ts:375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L375)* ___ @@ -3738,7 +3767,7 @@ ___ • **input**: *string* -*Defined in [index.ts:379](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L379)* +*Defined in [index.ts:385](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L385)* ___ @@ -3746,7 +3775,7 @@ ___ • **nonce**: *number* -*Defined in [index.ts:370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L370)* +*Defined in [index.ts:376](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L376)* ___ @@ -3754,7 +3783,7 @@ ___ • **to**: *string | null* -*Defined in [index.ts:375](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L375)* +*Defined in [index.ts:381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L381)* ___ @@ -3762,7 +3791,7 @@ ___ • **transactionIndex**: *number | null* -*Defined in [index.ts:373](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L373)* +*Defined in [index.ts:379](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L379)* ___ @@ -3770,7 +3799,7 @@ ___ • **value**: *`BigNumber`* -*Defined in [index.ts:376](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L376)* +*Defined in [index.ts:382](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L382)*
@@ -3783,7 +3812,7 @@ ___ • **blockHash**: *string* -*Defined in [index.ts:440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L440)* +*Defined in [index.ts:448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L448)* ___ @@ -3791,7 +3820,7 @@ ___ • **blockNumber**: *number* -*Defined in [index.ts:441](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L441)* +*Defined in [index.ts:449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L449)* ___ @@ -3799,7 +3828,7 @@ ___ • **contractAddress**: *string | null* -*Defined in [index.ts:449](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L449)* +*Defined in [index.ts:457](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L457)* ___ @@ -3807,7 +3836,7 @@ ___ • **cumulativeGasUsed**: *number* -*Defined in [index.ts:447](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L447)* +*Defined in [index.ts:455](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L455)* ___ @@ -3815,7 +3844,7 @@ ___ • **from**: *string* -*Defined in [index.ts:444](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L444)* +*Defined in [index.ts:452](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L452)* ___ @@ -3823,7 +3852,7 @@ ___ • **gasUsed**: *number* -*Defined in [index.ts:448](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L448)* +*Defined in [index.ts:456](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L456)* ___ @@ -3831,7 +3860,7 @@ ___ • **logs**: *[LogEntry](#class-logentry)[]* -*Defined in [index.ts:450](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L450)* +*Defined in [index.ts:458](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L458)* ___ @@ -3839,7 +3868,7 @@ ___ • **status**: *[TransactionReceiptStatus](#transactionreceiptstatus)* -*Defined in [index.ts:446](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L446)* +*Defined in [index.ts:454](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L454)* ___ @@ -3847,7 +3876,7 @@ ___ • **to**: *string* -*Defined in [index.ts:445](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L445)* +*Defined in [index.ts:453](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L453)* ___ @@ -3855,7 +3884,7 @@ ___ • **transactionHash**: *string* -*Defined in [index.ts:442](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L442)* +*Defined in [index.ts:450](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L450)* ___ @@ -3863,7 +3892,7 @@ ___ • **transactionIndex**: *number* -*Defined in [index.ts:443](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L443)* +*Defined in [index.ts:451](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L451)*
@@ -3882,7 +3911,7 @@ otherwise we don't. *Inherited from [TransactionReceipt](#interface-transactionreceipt).[blockHash](#blockhash)* -*Defined in [index.ts:440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L440)* +*Defined in [index.ts:448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L448)* ___ @@ -3892,7 +3921,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[blockNumber](#blocknumber)* -*Defined in [index.ts:441](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L441)* +*Defined in [index.ts:449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L449)* ___ @@ -3902,7 +3931,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[contractAddress](#contractaddress)* -*Defined in [index.ts:449](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L449)* +*Defined in [index.ts:457](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L457)* ___ @@ -3912,7 +3941,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[cumulativeGasUsed](#cumulativegasused)* -*Defined in [index.ts:447](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L447)* +*Defined in [index.ts:455](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L455)* ___ @@ -3922,7 +3951,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[from](#from)* -*Defined in [index.ts:444](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L444)* +*Defined in [index.ts:452](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L452)* ___ @@ -3932,7 +3961,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[gasUsed](#gasused)* -*Defined in [index.ts:448](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L448)* +*Defined in [index.ts:456](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L456)* ___ @@ -3942,7 +3971,7 @@ ___ *Overrides [TransactionReceipt](_index_.transactionreceipt.md).[logs](#logs)* -*Defined in [index.ts:506](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L506)* +*Defined in [index.ts:514](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L514)* ___ @@ -3952,7 +3981,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[status](#status)* -*Defined in [index.ts:446](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L446)* +*Defined in [index.ts:454](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L454)* ___ @@ -3962,7 +3991,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[to](#to)* -*Defined in [index.ts:445](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L445)* +*Defined in [index.ts:453](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L453)* ___ @@ -3972,7 +4001,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[transactionHash](#transactionhash)* -*Defined in [index.ts:442](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L442)* +*Defined in [index.ts:450](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L450)* ___ @@ -3982,7 +4011,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[transactionIndex](#transactionindex)* -*Defined in [index.ts:443](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L443)* +*Defined in [index.ts:451](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L451)*
@@ -3995,7 +4024,7 @@ ___ • **gas**: *number* -*Defined in [index.ts:299](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L299)* +*Defined in [index.ts:305](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L305)* ___ @@ -4003,7 +4032,7 @@ ___ • **returnValue**: *any* -*Defined in [index.ts:300](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L300)* +*Defined in [index.ts:306](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L306)* ___ @@ -4011,7 +4040,7 @@ ___ • **structLogs**: *[StructLog](#class-structlog)[]* -*Defined in [index.ts:301](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L301)* +*Defined in [index.ts:307](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L307)*
@@ -4026,7 +4055,7 @@ ___ *Overrides [DataItem](_index_.dataitem.md).[components](#optional-components)* -*Defined in [index.ts:135](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L135)* +*Defined in [index.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L141)* ___ @@ -4036,7 +4065,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[name](#name)* -*Defined in [index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -4046,7 +4075,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[type](#type)* -*Defined in [index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -4061,7 +4090,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -4069,7 +4098,7 @@ ___ • **from**: *string* -*Defined in [index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* +*Defined in [index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ @@ -4079,7 +4108,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -4089,7 +4118,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -4099,7 +4128,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -4109,7 +4138,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -4119,7 +4148,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* -*Defined in [index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)* +*Defined in [index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)*
@@ -4134,7 +4163,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -4144,7 +4173,7 @@ ___ *Inherited from [TxData](#interface-txdata).[from](#from)* -*Defined in [index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* +*Defined in [index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ @@ -4154,7 +4183,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -4164,7 +4193,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -4174,7 +4203,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -4184,7 +4213,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -4194,7 +4223,7 @@ ___ *Overrides [CallTxDataBase](_index_.calltxdatabase.md).[value](#optional-value)* -*Defined in [index.ts:434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L434)* +*Defined in [index.ts:442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L442)*
@@ -4211,7 +4240,7 @@ This interface allowed sending synchonous requests, support for which was later ▸ **send**(`payload`: [JSONRPCRequestPayload](_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -*Defined in [index.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L45)* +*Defined in [index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* **Parameters:** @@ -4227,7 +4256,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [index.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L44)* +*Defined in [index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* **Parameters:** @@ -4253,7 +4282,7 @@ before the first attempts to conform to EIP1193 ▸ **send**(`payload`: [JSONRPCRequestPayload](_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L54)* +*Defined in [index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* **Parameters:** @@ -4279,7 +4308,7 @@ however it does not conform entirely. ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [index.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L63)* +*Defined in [index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* **Parameters:** @@ -4305,7 +4334,7 @@ add here • **isMetaMask**? : *undefined | false | true* -*Defined in [index.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L31)* +*Defined in [index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ @@ -4313,7 +4342,7 @@ ___ • **isParity**? : *undefined | false | true* -*Defined in [index.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L32)* +*Defined in [index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ @@ -4321,7 +4350,7 @@ ___ • **isZeroExProvider**? : *undefined | false | true* -*Defined in [index.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L30)* +*Defined in [index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* ## Methods @@ -4329,7 +4358,7 @@ ___ ▸ **enable**(): *`Promise`* -*Defined in [index.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L34)* +*Defined in [index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* **Returns:** *`Promise`* @@ -4339,7 +4368,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [index.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L35)* +*Defined in [index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* **Parameters:** @@ -4356,7 +4385,7 @@ ___ ▸ **stop**(): *void* -*Defined in [index.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L33)* +*Defined in [index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* **Returns:** *void* @@ -4369,9 +4398,9 @@ ___ ### AbiDefinition -Ƭ **AbiDefinition**: *[FunctionAbi](_index_.md#functionabi) | [EventAbi](#interface-eventabi)* +Ƭ **AbiDefinition**: *[FunctionAbi](_index_.md#functionabi) | [EventAbi](#interface-eventabi) | [RevertErrorAbi](#interface-reverterrorabi)* -*Defined in [index.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L80)* +*Defined in [index.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L80)* ___ @@ -4379,7 +4408,7 @@ ___ Ƭ **BlockParam**: *[BlockParamLiteral](#enumeration-blockparamliteral) | number* -*Defined in [index.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L475)* +*Defined in [index.ts:483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L483)* ___ @@ -4387,7 +4416,7 @@ ___ Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"* -*Defined in [index.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L84)* +*Defined in [index.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L84)* ___ @@ -4395,7 +4424,7 @@ ___ Ƭ **ContractAbi**: *[AbiDefinition](#abidefinition)[]* -*Defined in [index.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L78)* +*Defined in [index.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L78)* ___ @@ -4403,7 +4432,15 @@ ___ Ƭ **ContractEventArg**: *any* -*Defined in [index.ts:460](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L460)* +*Defined in [index.ts:468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L468)* + +___ + +### DecodedLogs + +Ƭ **DecodedLogs**: *`Array>`* + +*Defined in [index.ts:439](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L439)* ___ @@ -4411,7 +4448,7 @@ ___ Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -*Defined in [index.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L70)* +*Defined in [index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md @@ -4422,7 +4459,7 @@ ___ Ƭ **ErrorSeverity**: *"error" | "warning"* -*Defined in [index.ts:591](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L591)* +*Defined in [index.ts:599](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L599)* ___ @@ -4430,7 +4467,7 @@ ___ Ƭ **ErrorType**: *"JSONError" | "IOError" | "ParserError" | "DocstringParsingError" | "SyntaxError" | "DeclarationError" | "TypeError" | "UnimplementedFeatureError" | "InternalCompilerError" | "Exception" | "CompilerError" | "FatalError" | "Warning"* -*Defined in [index.ts:577](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L577)* +*Defined in [index.ts:585](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L585)* ___ @@ -4438,7 +4475,7 @@ ___ Ƭ **FunctionAbi**: *[MethodAbi](#interface-methodabi) | [ConstructorAbi](#interface-constructorabi) | [FallbackAbi](#interface-fallbackabi)* -*Defined in [index.ts:82](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L82)* +*Defined in [index.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L82)* ___ @@ -4446,7 +4483,7 @@ ___ Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [index.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L3)* +*Defined in [index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: @@ -4465,7 +4502,7 @@ ___ Ƭ **LogTopic**: *null | string | string[]* -*Defined in [index.ts:407](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L407)* +*Defined in [index.ts:413](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L413)* ___ @@ -4473,7 +4510,7 @@ ___ Ƭ **OutputField**: *"*" | "ast" | "legacyAST" | "abi" | "devdoc" | "userdoc" | "metadata" | "ir" | "evm.assembly" | "evm.legacyAssembly" | "evm.bytecode.object" | "evm.bytecode.opcodes" | "evm.bytecode.sourceMap" | "evm.bytecode.linkReferences" | "evm.deployedBytecode.object" | "evm.deployedBytecode.opcodes" | "evm.deployedBytecode.sourceMap" | "evm.deployedBytecode.linkReferences" | "evm.methodIdentifiers" | "evm.gasEstimates" | "ewasm.wast" | "ewasm.wasm"* -*Defined in [index.ts:517](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L517)* +*Defined in [index.ts:525](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L525)* ___ @@ -4481,7 +4518,7 @@ ___ Ƭ **ParamDescription**: *string* -*Defined in [index.ts:553](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L553)* +*Defined in [index.ts:561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L561)* ___ @@ -4489,7 +4526,7 @@ ___ Ƭ **RawLog**: *[LogEntry](#interface-logentry)* -*Defined in [index.ts:467](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L467)* +*Defined in [index.ts:475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L475)* ___ @@ -4497,7 +4534,7 @@ ___ Ƭ **StateMutability**: *"pure" | "view" | [ConstructorStateMutability](#constructorstatemutability)* -*Defined in [index.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L85)* +*Defined in [index.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L85)* ___ @@ -4505,7 +4542,7 @@ ___ Ƭ **SupportedProvider**: *[Web3JsProvider](_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L9)* +*Defined in [index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. @@ -4516,7 +4553,7 @@ ___ Ƭ **TransactionReceiptStatus**: *null | string | `0` | `1`* -*Defined in [index.ts:437](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L437)* +*Defined in [index.ts:445](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L445)* ___ @@ -4524,7 +4561,7 @@ ___ Ƭ **Unit**: *"kwei" | "ada" | "mwei" | "babbage" | "gwei" | "shannon" | "szabo" | "finney" | "ether" | "kether" | "grand" | "einstein" | "mether" | "gether" | "tether"* -*Defined in [index.ts:304](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L304)* +*Defined in [index.ts:310](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L310)* ___ @@ -4532,7 +4569,7 @@ ___ Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -*Defined in [index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L11)* +*Defined in [index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)*
diff --git a/packages/ethereum-types/package.json b/packages/ethereum-types/package.json index e232dec074..38a1f38f1e 100644 --- a/packages/ethereum-types/package.json +++ b/packages/ethereum-types/package.json @@ -1,6 +1,6 @@ { "name": "ethereum-types", - "version": "2.1.6", + "version": "2.2.0-beta.0", "engines": { "node": ">=6.12" }, diff --git a/packages/ethereum-types/src/index.ts b/packages/ethereum-types/src/index.ts index 1e2ebf6f97..25096a81e7 100644 --- a/packages/ethereum-types/src/index.ts +++ b/packages/ethereum-types/src/index.ts @@ -436,6 +436,8 @@ export interface LogEntry { topics: string[]; } +export type DecodedLogs = Array>; + export interface TxDataPayable extends TxData { value?: BigNumber; } diff --git a/packages/fill-scenarios/.npmignore b/packages/fill-scenarios/.npmignore deleted file mode 100644 index 760ab23334..0000000000 --- a/packages/fill-scenarios/.npmignore +++ /dev/null @@ -1,10 +0,0 @@ -# Blacklist all files -.* -* -# Whitelist lib -!lib/**/* -# Blacklist tests and publish scripts -/lib/test/* -/lib/monorepo_scripts/ -# Package specific ignore - diff --git a/packages/fill-scenarios/CHANGELOG.json b/packages/fill-scenarios/CHANGELOG.json deleted file mode 100644 index cad61e91ba..0000000000 --- a/packages/fill-scenarios/CHANGELOG.json +++ /dev/null @@ -1,529 +0,0 @@ -[ - { - "version": "3.1.0", - "changes": [ - { - "note": "Use new `Order` structure with `domain` field", - "pr": 1742 - }, - { - "note": "Use arbitrary fee tokens instead of ZRX (ZEIP-28)", - "pr": 1819 - } - ] - }, - { - "timestamp": 1568744790, - "version": "3.0.19", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1567521715, - "version": "3.0.18", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1566446343, - "version": "3.0.17", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1565296576, - "version": "3.0.16", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1564604963, - "version": "3.0.15", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1563957393, - "version": "3.0.14", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1563193019, - "version": "3.0.13", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1563047529, - "version": "3.0.12", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1563006338, - "version": "3.0.11", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1558712885, - "version": "3.0.10", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1557961111, - "version": "3.0.9", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "3.0.8", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1557799313 - }, - { - "timestamp": 1557507213, - "version": "3.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "3.0.5", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1554997931 - }, - { - "timestamp": 1553183790, - "version": "3.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1553091633, - "version": "3.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1551479279, - "version": "3.0.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1551220833, - "version": "3.0.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "3.0.0", - "changes": [ - { - "note": "Update provider params to type SupportedProvider which outlines all supported providers", - "pr": 1627 - } - ], - "timestamp": 1551130135 - }, - { - "timestamp": 1549733923, - "version": "2.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "2.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1549547375 - }, - { - "timestamp": 1549504360, - "version": "2.0.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1549452781, - "version": "2.0.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "2.0.0", - "changes": [ - { - "note": "Upgrade the bignumber.js to v8.0.2", - "pr": 1517 - } - ], - "timestamp": 1549373905 - }, - { - "timestamp": 1547561734, - "version": "1.1.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1547225310, - "version": "1.1.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.1.0", - "changes": [ - { - "note": "Add support for MultiAssetProxy", - "pr": 1363 - } - ], - "timestamp": 1547040760 - }, - { - "version": "1.0.16", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1544739608 - }, - { - "version": "1.0.15", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1544570656 - }, - { - "timestamp": 1543401373, - "version": "1.0.14", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542821676, - "version": "1.0.13", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542208198, - "version": "1.0.12", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542134075, - "version": "1.0.11", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1542028948, - "version": "1.0.10", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.0.9", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1541740904 - }, - { - "version": "1.0.8", - "changes": [ - { - "note": "Updated to use new @0xproject/contract-artifacts and @0xproject/abi-gen-wrappers packages", - "pr": 1105 - } - ], - "timestamp": 1539871071 - }, - { - "version": "1.0.7", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1538693146 - }, - { - "timestamp": 1538157789, - "version": "1.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537907159, - "version": "1.0.5", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537875740, - "version": "1.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1537541580, - "version": "1.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.0.2", - "changes": [ - { - "note": "Drastically reduce the bundle size by removing unused parts of included contract artifacts." - } - ], - "timestamp": 1537369748 - }, - { - "timestamp": 1536142250, - "version": "1.0.1", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "version": "1.0.1-rc.5", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1535377027 - }, - { - "version": "1.0.1-rc.4", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1535133899 - }, - { - "version": "1.0.1-rc.3", - "changes": [ - { - "note": "Updated to use latest orderFactory interface, fixed `feeRecipient` spelling error in public interface", - "pr": 936 - }, - { - "note": "Dependencies updated" - } - ], - "timestamp": 1534210131 - }, - { - "version": "1.0.1-rc.2", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1532619515 - }, - { - "version": "1.0.1-rc.1", - "changes": [ - { - "note": "Dependencies updated" - } - ], - "timestamp": 1532605697 - }, - { - "timestamp": 1532357734, - "version": "1.0.0", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1532043000, - "version": "1.0.0-rc.1", - "changes": [ - { - "note": "Make fill-scenarios compatible with V2 of 0x protocol", - "pr": 656 - } - ] - }, - { - "timestamp": 1531919263, - "version": "0.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1531149657, - "version": "0.0.5", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1529397769, - "version": "0.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1527616612, - "version": "0.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1527008544, - "version": "0.0.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1527008544, - "version": "0.0.1", - "changes": [ - { - "note": "Move FillScenarios out of 0x.js", - "pr": 579 - } - ] - } -] diff --git a/packages/fill-scenarios/CHANGELOG.md b/packages/fill-scenarios/CHANGELOG.md deleted file mode 100644 index f5b449c076..0000000000 --- a/packages/fill-scenarios/CHANGELOG.md +++ /dev/null @@ -1,231 +0,0 @@ - - -CHANGELOG - -## v3.0.19 - _September 17, 2019_ - - * Dependencies updated - -## v3.0.18 - _September 3, 2019_ - - * Dependencies updated - -## v3.0.17 - _August 22, 2019_ - - * Dependencies updated - -## v3.0.16 - _August 8, 2019_ - - * Dependencies updated - -## v3.0.15 - _July 31, 2019_ - - * Dependencies updated - -## v3.0.14 - _July 24, 2019_ - - * Dependencies updated - -## v3.0.13 - _July 15, 2019_ - - * Dependencies updated - -## v3.0.12 - _July 13, 2019_ - - * Dependencies updated - -## v3.0.11 - _July 13, 2019_ - - * Dependencies updated - -## v3.0.10 - _May 24, 2019_ - - * Dependencies updated - -## v3.0.9 - _May 15, 2019_ - - * Dependencies updated - -## v3.0.8 - _May 14, 2019_ - - * Dependencies updated - -## v3.0.6 - _May 10, 2019_ - - * Dependencies updated - -## v3.0.5 - _April 11, 2019_ - - * Dependencies updated - -## v3.0.4 - _March 21, 2019_ - - * Dependencies updated - -## v3.0.3 - _March 20, 2019_ - - * Dependencies updated - -## v3.0.2 - _March 1, 2019_ - - * Dependencies updated - -## v3.0.1 - _February 26, 2019_ - - * Dependencies updated - -## v3.0.0 - _February 25, 2019_ - - * Update provider params to type SupportedProvider which outlines all supported providers (#1627) - -## v2.0.4 - _February 9, 2019_ - - * Dependencies updated - -## v2.0.3 - _February 7, 2019_ - - * Dependencies updated - -## v2.0.2 - _February 7, 2019_ - - * Dependencies updated - -## v2.0.1 - _February 6, 2019_ - - * Dependencies updated - -## v2.0.0 - _February 5, 2019_ - - * Upgrade the bignumber.js to v8.0.2 (#1517) - -## v1.1.2 - _January 15, 2019_ - - * Dependencies updated - -## v1.1.1 - _January 11, 2019_ - - * Dependencies updated - -## v1.1.0 - _January 9, 2019_ - - * Add support for MultiAssetProxy (#1363) - -## v1.0.16 - _December 13, 2018_ - - * Dependencies updated - -## v1.0.15 - _December 11, 2018_ - - * Dependencies updated - -## v1.0.14 - _November 28, 2018_ - - * Dependencies updated - -## v1.0.13 - _November 21, 2018_ - - * Dependencies updated - -## v1.0.12 - _November 14, 2018_ - - * Dependencies updated - -## v1.0.11 - _November 13, 2018_ - - * Dependencies updated - -## v1.0.10 - _November 12, 2018_ - - * Dependencies updated - -## v1.0.9 - _November 9, 2018_ - - * Dependencies updated - -## v1.0.8 - _October 18, 2018_ - - * Updated to use new @0xproject/contract-artifacts and @0xproject/abi-gen-wrappers packages (#1105) - -## v1.0.7 - _October 4, 2018_ - - * Dependencies updated - -## v1.0.6 - _September 28, 2018_ - - * Dependencies updated - -## v1.0.5 - _September 25, 2018_ - - * Dependencies updated - -## v1.0.4 - _September 25, 2018_ - - * Dependencies updated - -## v1.0.3 - _September 21, 2018_ - - * Dependencies updated - -## v1.0.2 - _September 19, 2018_ - - * Drastically reduce the bundle size by removing unused parts of included contract artifacts. - -## v1.0.1 - _September 5, 2018_ - - * Dependencies updated - -## v1.0.1-rc.5 - _August 27, 2018_ - - * Dependencies updated - -## v1.0.1-rc.4 - _August 24, 2018_ - - * Dependencies updated - -## v1.0.1-rc.3 - _August 14, 2018_ - - * Updated to use latest orderFactory interface, fixed `feeRecipient` spelling error in public interface (#936) - * Dependencies updated - -## v1.0.1-rc.2 - _July 26, 2018_ - - * Dependencies updated - -## v1.0.1-rc.1 - _July 26, 2018_ - - * Dependencies updated - -## v1.0.0 - _July 23, 2018_ - - * Dependencies updated - -## v1.0.0-rc.1 - _July 19, 2018_ - - * Make fill-scenarios compatible with V2 of 0x protocol (#656) - -## v0.0.6 - _July 18, 2018_ - - * Dependencies updated - -## v0.0.5 - _July 9, 2018_ - - * Dependencies updated - -## v0.0.4 - _June 19, 2018_ - - * Dependencies updated - -## v0.0.3 - _May 29, 2018_ - - * Dependencies updated - -## v0.0.2 - _May 22, 2018_ - - * Dependencies updated - -## v0.0.1 - _May 22, 2018_ - - * Move FillScenarios out of 0x.js (#579) diff --git a/packages/fill-scenarios/README.md b/packages/fill-scenarios/README.md deleted file mode 100644 index 794b70e56a..0000000000 --- a/packages/fill-scenarios/README.md +++ /dev/null @@ -1,63 +0,0 @@ -## @0x/fill-scenarios - -0x order fill scenario generator - -## Installation - -```bash -yarn add @0x/fill-scenarios -``` - -If your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`: - -```json -"compilerOptions": { - "typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"], -} -``` - -## Contributing - -We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository. - -Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started. - -### Install dependencies - -If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them: - -```bash -yarn config set workspaces-experimental true -``` - -Then install dependencies - -```bash -yarn install -``` - -### Build - -To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory: - -```bash -PKG=@0x/fill-scenarios yarn build -``` - -Or continuously rebuild on change: - -```bash -PKG=@0x/fill-scenarios yarn watch -``` - -### Clean - -```bash -yarn clean -``` - -### Lint - -```bash -yarn lint -``` diff --git a/packages/fill-scenarios/package.json b/packages/fill-scenarios/package.json deleted file mode 100644 index 0cdb97a796..0000000000 --- a/packages/fill-scenarios/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "@0x/fill-scenarios", - "version": "3.0.19", - "description": "0x order fill scenario generator", - "main": "lib/index.js", - "types": "lib/index.d.ts", - "scripts": { - "build": "yarn tsc -b", - "build:ci": "yarn build", - "clean": "shx rm -rf lib src/generated_contract_wrappers", - "lint": "tslint --format stylish --project .", - "fix": "tslint --format stylish --fix --project ." - }, - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "https://github.com/0xProject/0x-monorepo.git" - }, - "bugs": { - "url": "https://github.com/0xProject/0x-monorepo/issues" - }, - "homepage": "https://github.com/0xProject/0x-monorepo/packages/fill-scenarios/README.md", - "devDependencies": { - "@0x/tslint-config": "^3.0.1", - "@types/lodash": "4.14.104", - "make-promises-safe": "^1.1.0", - "shx": "^0.2.2", - "tslint": "5.11.0", - "typescript": "3.0.1" - }, - "dependencies": { - "@0x/abi-gen-wrappers": "^5.3.2", - "@0x/base-contract": "^5.4.0", - "@0x/order-utils": "^8.4.0", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", - "ethereum-types": "^2.1.6", - "ethers": "~4.0.4", - "lodash": "^4.17.11" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/fill-scenarios/src/constants.ts b/packages/fill-scenarios/src/constants.ts deleted file mode 100644 index 97db3010e4..0000000000 --- a/packages/fill-scenarios/src/constants.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const constants = { - AWAIT_TRANSACTION_MINED_MS: 0, - NULL_ADDRESS: '0x0000000000000000000000000000000000000000', - NULL_BYTES: '0x', -}; diff --git a/packages/fill-scenarios/src/fill_scenarios.ts b/packages/fill-scenarios/src/fill_scenarios.ts deleted file mode 100644 index 133f21e476..0000000000 --- a/packages/fill-scenarios/src/fill_scenarios.ts +++ /dev/null @@ -1,299 +0,0 @@ -import { DummyERC20TokenContract, DummyERC721TokenContract, ExchangeContract } from '@0x/abi-gen-wrappers'; -import { assetDataUtils } from '@0x/order-utils'; -import { orderFactory } from '@0x/order-utils/lib/src/order_factory'; -import { Order, SignedOrder } from '@0x/types'; -import { BigNumber } from '@0x/utils'; -import { Web3Wrapper } from '@0x/web3-wrapper'; -import { SupportedProvider } from 'ethereum-types'; -import * as _ from 'lodash'; - -import { constants } from './constants'; - -export class FillScenarios { - private readonly _web3Wrapper: Web3Wrapper; - private readonly _userAddresses: string[]; - private readonly _coinbase: string; - private readonly _exchangeAddress: string; - private readonly _erc20ProxyAddress: string; - private readonly _erc721ProxyAddress: string; - constructor( - supportedProvider: SupportedProvider, - userAddresses: string[], - exchangeAddress: string, - erc20ProxyAddress: string, - erc721ProxyAddress: string, - ) { - this._web3Wrapper = new Web3Wrapper(supportedProvider); - this._userAddresses = userAddresses; - this._coinbase = userAddresses[0]; - this._exchangeAddress = exchangeAddress; - this._erc20ProxyAddress = erc20ProxyAddress; - this._erc721ProxyAddress = erc721ProxyAddress; - } - public async createFillableSignedOrderAsync( - makerAssetData: string, - takerAssetData: string, - makerAddress: string, - takerAddress: string, - fillableAmount: BigNumber, - expirationTimeSeconds?: BigNumber, - ): Promise { - return this.createAsymmetricFillableSignedOrderAsync( - makerAssetData, - takerAssetData, - makerAddress, - takerAddress, - fillableAmount, - fillableAmount, - expirationTimeSeconds, - ); - } - public async createFillableSignedOrderWithFeesAsync( - makerAssetData: string, - takerAssetData: string, - makerFeeAssetData: string, - takerFeeAssetData: string, - makerFee: BigNumber, - takerFee: BigNumber, - makerAddress: string, - takerAddress: string, - fillableAmount: BigNumber, - feeRecipientAddress: string, - expirationTimeSeconds?: BigNumber, - senderAddress?: string, - ): Promise { - return this._createAsymmetricFillableSignedOrderWithFeesAsync( - makerAssetData, - takerAssetData, - makerFeeAssetData, - takerFeeAssetData, - makerFee, - takerFee, - makerAddress, - takerAddress, - fillableAmount, - fillableAmount, - feeRecipientAddress, - expirationTimeSeconds, - senderAddress, - ); - } - public async createAsymmetricFillableSignedOrderAsync( - makerAssetData: string, - takerAssetData: string, - makerAddress: string, - takerAddress: string, - makerFillableAmount: BigNumber, - takerFillableAmount: BigNumber, - expirationTimeSeconds?: BigNumber, - ): Promise { - const makerFeeAssetData = constants.NULL_BYTES; - const takerFeeAssetData = constants.NULL_BYTES; - const makerFee = new BigNumber(0); - const takerFee = new BigNumber(0); - const feeRecipientAddress = constants.NULL_ADDRESS; - return this._createAsymmetricFillableSignedOrderWithFeesAsync( - makerAssetData, - takerAssetData, - makerFeeAssetData, - takerFeeAssetData, - makerFee, - takerFee, - makerAddress, - takerAddress, - makerFillableAmount, - takerFillableAmount, - feeRecipientAddress, - expirationTimeSeconds, - ); - } - public async createPartiallyFilledSignedOrderAsync( - makerAssetData: string, - takerAssetData: string, - takerAddress: string, - fillableAmount: BigNumber, - partialFillAmount: BigNumber, - ): Promise { - const [makerAddress] = this._userAddresses; - const signedOrder = await this.createAsymmetricFillableSignedOrderAsync( - makerAssetData, - takerAssetData, - makerAddress, - takerAddress, - fillableAmount, - fillableAmount, - ); - const exchangeInstance = new ExchangeContract( - signedOrder.exchangeAddress, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - - const order = _.omit(signedOrder, ['signature']) as Order; - - const txHash = await exchangeInstance.fillOrder.sendTransactionAsync( - order, - partialFillAmount, - signedOrder.signature, - { from: takerAddress }, - ); - await this._web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS); - return signedOrder; - } - private async _createAsymmetricFillableSignedOrderWithFeesAsync( - makerAssetData: string, - takerAssetData: string, - makerFeeAssetData: string, - takerFeeAssetData: string, - makerFee: BigNumber, - takerFee: BigNumber, - makerAddress: string, - takerAddress: string, - makerFillableAmount: BigNumber, - takerFillableAmount: BigNumber, - feeRecipientAddress: string, - expirationTimeSeconds?: BigNumber, - senderAddress?: string, - ): Promise { - await this._increaseBalanceAndAllowanceWithAssetDataAsync(makerAssetData, makerAddress, makerFillableAmount); - await this._increaseBalanceAndAllowanceWithAssetDataAsync(takerAssetData, takerAddress, takerFillableAmount); - // Fees - await Promise.all([ - this._increaseERC20BalanceAndAllowanceAsync(makerFeeAssetData, makerAddress, makerFee), - this._increaseERC20BalanceAndAllowanceAsync(takerFeeAssetData, takerAddress, takerFee), - ]); - const _senderAddress = senderAddress ? senderAddress : constants.NULL_ADDRESS; - - const signedOrder = await orderFactory.createSignedOrderAsync( - this._web3Wrapper.getProvider(), - makerAddress, - makerFillableAmount, - makerAssetData, - takerFillableAmount, - takerAssetData, - this._exchangeAddress, - { - takerAddress, - senderAddress: _senderAddress, - makerFeeAssetData, - takerFeeAssetData, - makerFee, - takerFee, - feeRecipientAddress, - expirationTimeSeconds, - }, - ); - return signedOrder; - } - private async _increaseERC721BalanceAndAllowanceAsync( - tokenAddress: string, - address: string, - tokenId: BigNumber, - ): Promise { - await this._increaseERC721BalanceAsync(tokenAddress, address, tokenId); - await this._increaseERC721AllowanceAsync(tokenAddress, address, tokenId); - } - private async _increaseERC721AllowanceAsync( - tokenAddress: string, - address: string, - tokenId: BigNumber, - ): Promise { - const erc721Token = new DummyERC721TokenContract( - tokenAddress, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - const txHash = await erc721Token.approve.sendTransactionAsync(this._erc721ProxyAddress, tokenId, { - from: address, - }); - await this._web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS); - } - private async _increaseERC721BalanceAsync( - tokenAddress: string, - address: string, - tokenId: BigNumber, - ): Promise { - const erc721Token = new DummyERC721TokenContract( - tokenAddress, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - try { - const currentOwner = await erc721Token.ownerOf.callAsync(tokenId); - if (currentOwner !== address) { - throw new Error(`Token ${tokenAddress}:${tokenId} is already owner by ${currentOwner}`); - } - } catch (err) { - const txHash = await erc721Token.mint.sendTransactionAsync(address, tokenId, { from: this._coinbase }); - await this._web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS); - } - } - private async _increaseERC20BalanceAndAllowanceAsync( - tokenAddress: string, - address: string, - amount: BigNumber, - ): Promise { - if (amount.isZero() || address === constants.NULL_ADDRESS) { - return; // noop - } - await Promise.all([ - this._increaseERC20BalanceAsync(tokenAddress, address, amount), - this._increaseERC20AllowanceAsync(tokenAddress, address, amount), - ]); - } - private async _increaseERC20BalanceAsync(tokenAddress: string, address: string, amount: BigNumber): Promise { - const erc20Token = new DummyERC20TokenContract( - tokenAddress, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - const txHash = await erc20Token.transfer.sendTransactionAsync(address, amount, { - from: this._coinbase, - }); - await this._web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS); - } - private async _increaseERC20AllowanceAsync( - tokenAddress: string, - address: string, - amount: BigNumber, - ): Promise { - const erc20Token = new DummyERC20TokenContract( - tokenAddress, - this._web3Wrapper.getProvider(), - this._web3Wrapper.getContractDefaults(), - ); - const oldMakerAllowance = await erc20Token.allowance.callAsync(address, this._erc20ProxyAddress); - const newMakerAllowance = oldMakerAllowance.plus(amount); - - const txHash = await erc20Token.approve.sendTransactionAsync(this._erc20ProxyAddress, newMakerAllowance, { - from: address, - }); - await this._web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS); - } - private async _increaseBalanceAndAllowanceWithAssetDataAsync( - assetData: string, - userAddress: string, - amount: BigNumber, - ): Promise { - const decodedAssetData = assetDataUtils.decodeAssetDataOrThrow(assetData); - if (assetDataUtils.isERC20AssetData(decodedAssetData)) { - await this._increaseERC20BalanceAndAllowanceAsync(decodedAssetData.tokenAddress, userAddress, amount); - } else if (assetDataUtils.isERC721AssetData(decodedAssetData)) { - await this._increaseERC721BalanceAndAllowanceAsync( - decodedAssetData.tokenAddress, - userAddress, - decodedAssetData.tokenId, - ); - } else if (assetDataUtils.isMultiAssetData(decodedAssetData)) { - for (const [index, nestedAssetDataElement] of decodedAssetData.nestedAssetData.entries()) { - const amountsElement = decodedAssetData.amounts[index]; - const totalAmount = amount.times(amountsElement); - await this._increaseBalanceAndAllowanceWithAssetDataAsync( - nestedAssetDataElement, - userAddress, - totalAmount, - ); - } - } - } -} diff --git a/packages/fill-scenarios/src/index.ts b/packages/fill-scenarios/src/index.ts deleted file mode 100644 index c51145cdbf..0000000000 --- a/packages/fill-scenarios/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { FillScenarios } from './fill_scenarios'; diff --git a/packages/fill-scenarios/tsconfig.json b/packages/fill-scenarios/tsconfig.json deleted file mode 100644 index 56689eaa34..0000000000 --- a/packages/fill-scenarios/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig", - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, - "include": ["src/**/*"] -} diff --git a/packages/fill-scenarios/tslint.json b/packages/fill-scenarios/tslint.json deleted file mode 100644 index dd9053357e..0000000000 --- a/packages/fill-scenarios/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": ["@0x/tslint-config"] -} diff --git a/packages/instant/package.json b/packages/instant/package.json index 9c1387c8dd..ff8c595176 100644 --- a/packages/instant/package.json +++ b/packages/instant/package.json @@ -1,6 +1,6 @@ { "name": "@0x/instant", - "version": "1.0.31", + "version": "1.0.32", "engines": { "node": ">=6.12" }, @@ -8,7 +8,7 @@ "description": "0x Instant React Component", "main": "umd/instant.js", "scripts": { - "build": "webpack --mode production", + "build": "NODE_ENV=production node --max_old_space_size=8192 ../../node_modules/.bin/webpack --mode production", "build:dev": "webpack --mode development", "build:ci": "yarn build", "dev": "dotenv webpack-dev-server -- --mode development", @@ -43,19 +43,19 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/instant/README.md", "dependencies": { - "@0x/assert": "^2.1.6", + "@0x/assert": "^2.2.0-beta.0", "@0x/asset-buyer": "6.1.8", - "@0x/json-schemas": "^4.0.2", - "@0x/order-utils": "^8.4.0", - "@0x/subproviders": "^5.0.4", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "babel-runtime": "^6.26.0", "bowser": "^1.9.4", "copy-to-clipboard": "^3.0.8", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11", "polished": "^1.9.2", "react": "^16.5.2", diff --git a/packages/json-schemas/CHANGELOG.json b/packages/json-schemas/CHANGELOG.json index 9b6983b679..9ae7381703 100644 --- a/packages/json-schemas/CHANGELOG.json +++ b/packages/json-schemas/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "4.0.3", + "version": "4.1.0-beta.0", "changes": [ { "note": "Add `eip712DomainSchema` schema", @@ -18,7 +18,8 @@ "note": "Add `expirationTimeSeconds` to `ZeroExTransaction` schema", "pr": 1832 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/json-schemas/CHANGELOG.md b/packages/json-schemas/CHANGELOG.md index a413d61dd2..9d107cd0ad 100644 --- a/packages/json-schemas/CHANGELOG.md +++ b/packages/json-schemas/CHANGELOG.md @@ -5,6 +5,13 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.1.0-beta.0 - _October 3, 2019_ + + * Add `eip712DomainSchema` schema (#1742) + * Add required field `domain` to `order` and `zeroExTransaction` schemas (#1742) + * Add `makerAssetData` and `takerAssetData` to `Order` schemas (#1819) + * Add `expirationTimeSeconds` to `ZeroExTransaction` schema (#1832) + ## v4.0.2 - _September 17, 2019_ * Dependencies updated diff --git a/packages/json-schemas/docs/reference.mdx b/packages/json-schemas/docs/reference.mdx index 4f5c4ab371..077fd6dedc 100644 --- a/packages/json-schemas/docs/reference.mdx +++ b/packages/json-schemas/docs/reference.mdx @@ -9,7 +9,7 @@ A validator for [JSON-schemas](http://json-schema.org/) \+ **new SchemaValidator**(): *[SchemaValidator](#class-schemavalidator)* -*Defined in [schema_validator.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/json-schemas/src/schema_validator.ts#L15)* +*Defined in [schema_validator.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/json-schemas/src/schema_validator.ts#L15)* Instantiates a SchemaValidator instance @@ -21,7 +21,7 @@ Instantiates a SchemaValidator instance ▸ **addSchema**(`schema`: `Schema`): *void* -*Defined in [schema_validator.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/json-schemas/src/schema_validator.ts#L32)* +*Defined in [schema_validator.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/json-schemas/src/schema_validator.ts#L32)* Add a schema to the validator. All schemas and sub-schemas must be added to the validator before the `validate` and `isValid` methods can be called with @@ -41,7 +41,7 @@ ___ ▸ **isValid**(`instance`: any, `schema`: `Schema`): *boolean* -*Defined in [schema_validator.ts:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/json-schemas/src/schema_validator.ts#L57)* +*Defined in [schema_validator.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/json-schemas/src/schema_validator.ts#L57)* Check whether an instance properly adheres to a JSON schema @@ -62,7 +62,7 @@ ___ ▸ **validate**(`instance`: any, `schema`: `Schema`): *`ValidatorResult`* -*Defined in [schema_validator.ts:46](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/json-schemas/src/schema_validator.ts#L46)* +*Defined in [schema_validator.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/json-schemas/src/schema_validator.ts#L46)* Validate the JS object conforms to a specific JSON schema diff --git a/packages/json-schemas/package.json b/packages/json-schemas/package.json index cf0dbd04a9..c6f2e10def 100644 --- a/packages/json-schemas/package.json +++ b/packages/json-schemas/package.json @@ -1,6 +1,6 @@ { "name": "@0x/json-schemas", - "version": "4.0.2", + "version": "4.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -43,7 +43,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/json-schemas/README.md", "dependencies": { - "@0x/typescript-typings": "^4.3.0", + "@0x/typescript-typings": "^4.4.0-beta.0", "@types/node": "*", "jsonschema": "^1.2.0", "lodash.values": "^4.3.0" @@ -51,7 +51,7 @@ "devDependencies": { "@0x/ts-doc-gen": "^0.0.22", "@0x/tslint-config": "^3.0.1", - "@0x/utils": "^4.5.2", + "@0x/utils": "^4.6.0-beta.0", "@types/lodash.foreach": "^4.5.3", "@types/lodash.values": "^4.3.3", "@types/mocha": "^5.2.7", diff --git a/packages/json-schemas/schemas/eip712_domain_schema.json b/packages/json-schemas/schemas/eip712_domain_schema.json index 3b6c9ef1e3..268254fff3 100644 --- a/packages/json-schemas/schemas/eip712_domain_schema.json +++ b/packages/json-schemas/schemas/eip712_domain_schema.json @@ -1,10 +1,18 @@ { "id": "/eip712DomainSchema", "properties": { - "name": { "type": "string" }, - "version": { "type": "version" }, - "chainId": { "type": "number" }, - "verifyingContractAddress": { "$ref": "/addressSchema" } + "name": { + "type": "string" + }, + "version": { + "type": "version" + }, + "chainId": { + "type": "number" + }, + "verifyingContract": { + "$ref": "/addressSchema" + } }, "required": [ "chainId", diff --git a/packages/json-schemas/schemas/orders_request_opts_schema.json b/packages/json-schemas/schemas/orders_request_opts_schema.json index 4c1b9b4e98..05f486930d 100644 --- a/packages/json-schemas/schemas/orders_request_opts_schema.json +++ b/packages/json-schemas/schemas/orders_request_opts_schema.json @@ -2,18 +2,50 @@ "id": "/OrdersRequestOptsSchema", "type": "object", "properties": { - "makerAssetProxyId": { "$ref": "/hexSchema" }, - "takerAssetProxyId": { "$ref": "/hexSchema" }, - "makerAssetAddress": { "$ref": "/addressSchema" }, - "takerAssetAddress": { "$ref": "/addressSchema" }, - "exchangeAddress": { "$ref": "/addressSchema" }, - "senderAddress": { "$ref": "/addressSchema" }, - "makerAssetData": { "$ref": "/hexSchema" }, - "takerAssetData": { "$ref": "/hexSchema" }, - "traderAssetData": { "$ref": "/hexSchema" }, - "makerAddress": { "$ref": "/addressSchema" }, - "takerAddress": { "$ref": "/addressSchema" }, - "traderAddress": { "$ref": "/addressSchema" }, - "feeRecipientAddress": { "$ref": "/addressSchema" } + "makerAssetProxyId": { + "$ref": "/hexSchema" + }, + "takerAssetProxyId": { + "$ref": "/hexSchema" + }, + "makerAssetAddress": { + "$ref": "/addressSchema" + }, + "takerAssetAddress": { + "$ref": "/addressSchema" + }, + "exchangeAddress": { + "$ref": "/addressSchema" + }, + "senderAddress": { + "$ref": "/addressSchema" + }, + "makerAssetData": { + "$ref": "/hexSchema" + }, + "takerAssetData": { + "$ref": "/hexSchema" + }, + "traderAssetData": { + "$ref": "/hexSchema" + }, + "makerFeeAssetData": { + "$ref": "/hexSchema" + }, + "takerFeeAssetData": { + "$ref": "/hexSchema" + }, + "makerAddress": { + "$ref": "/addressSchema" + }, + "takerAddress": { + "$ref": "/addressSchema" + }, + "traderAddress": { + "$ref": "/addressSchema" + }, + "feeRecipientAddress": { + "$ref": "/addressSchema" + } } } diff --git a/packages/json-schemas/schemas/relayer_api_order_config_response_schema.json b/packages/json-schemas/schemas/relayer_api_order_config_response_schema.json index 8193861e12..3d060a7631 100644 --- a/packages/json-schemas/schemas/relayer_api_order_config_response_schema.json +++ b/packages/json-schemas/schemas/relayer_api_order_config_response_schema.json @@ -2,10 +2,31 @@ "id": "/relayerApiOrderConfigResponseSchema", "type": "object", "properties": { - "makerFee": { "$ref": "/wholeNumberSchema" }, - "takerFee": { "$ref": "/wholeNumberSchema" }, - "feeRecipientAddress": { "$ref": "/addressSchema" }, - "senderAddress": { "$ref": "/addressSchema" } + "makerFee": { + "$ref": "/wholeNumberSchema" + }, + "takerFee": { + "$ref": "/wholeNumberSchema" + }, + "feeRecipientAddress": { + "$ref": "/addressSchema" + }, + "senderAddress": { + "$ref": "/addressSchema" + }, + "makerFeeAssetData": { + "$ref": "/hexSchema" + }, + "takerFeeAssetData": { + "$ref": "/hexSchema" + } }, - "required": ["makerFee", "takerFee", "feeRecipientAddress", "senderAddress"] + "required": [ + "makerFee", + "takerFee", + "feeRecipientAddress", + "senderAddress", + "makerFeeAssetData", + "takerFeeAssetData" + ] } diff --git a/packages/json-schemas/schemas/relayer_api_orders_schema.json b/packages/json-schemas/schemas/relayer_api_orders_schema.json index 84e75cd045..a8c970e718 100644 --- a/packages/json-schemas/schemas/relayer_api_orders_schema.json +++ b/packages/json-schemas/schemas/relayer_api_orders_schema.json @@ -1,5 +1,7 @@ { "id": "/relayerApiOrdersSchema", "type": "array", - "items": { "$ref": "/relayerApiOrderSchema" } + "items": { + "$ref": "/relayerApiOrderSchema" + } } diff --git a/packages/json-schemas/test/schema_test.ts b/packages/json-schemas/test/schema_test.ts index 855777a390..6c3aa4f379 100644 --- a/packages/json-schemas/test/schema_test.ts +++ b/packages/json-schemas/test/schema_test.ts @@ -478,6 +478,8 @@ describe('Schema', () => { takerFee: '30000000000000000', feeRecipientAddress: '0x323b5d4c32345ced77393b3530b1eed0f346429d', senderAddress: '0x323b5d4c32345ced77393b3530b1eed0f346429d', + makerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', + takerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', }, ]; validateAgainstSchema(testCases, relayerApiOrderConfigResponseSchema); diff --git a/packages/migrations/CHANGELOG.json b/packages/migrations/CHANGELOG.json index f483a3a62e..5056bca91e 100644 --- a/packages/migrations/CHANGELOG.json +++ b/packages/migrations/CHANGELOG.json @@ -1,12 +1,13 @@ [ { - "version": "4.4.0", + "version": "4.4.0-beta.0", "changes": [ { "note": "Update Coordinator and Exchange deployments to pass `chainId`", "pr": 1742 } - ] + ], + "timestamp": 1570135330 }, { "version": "4.3.2", diff --git a/packages/migrations/CHANGELOG.md b/packages/migrations/CHANGELOG.md index 12b2bf7fdc..e9cd247c72 100644 --- a/packages/migrations/CHANGELOG.md +++ b/packages/migrations/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.4.0-beta.0 - _October 3, 2019_ + + * Update Coordinator and Exchange deployments to pass `chainId` (#1742) + ## v4.3.2 - _September 17, 2019_ * Removed dependency on @0x/order-utils (#2096) diff --git a/packages/migrations/docs/reference.mdx b/packages/migrations/docs/reference.mdx index 5f29cd8bdf..be2b4248f5 100644 --- a/packages/migrations/docs/reference.mdx +++ b/packages/migrations/docs/reference.mdx @@ -1,24 +1,4 @@ -# Interface: GanacheProvider - - -## Methods - -### sendAsync - -▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L14)* - -**Parameters:** - -Name | Type | ------- | ------ | -`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | -`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | - -**Returns:** *void* - -
@@ -37,7 +17,7 @@ Name | Type | • **assetProxyOwner**: *string* -*Defined in [contract-addresses/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L9)* +*Defined in [contract-addresses/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L9)* ___ @@ -45,7 +25,7 @@ ___ • **coordinator**: *string* -*Defined in [contract-addresses/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L14)* +*Defined in [contract-addresses/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L14)* ___ @@ -53,7 +33,7 @@ ___ • **coordinatorRegistry**: *string* -*Defined in [contract-addresses/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L13)* +*Defined in [contract-addresses/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L13)* ___ @@ -61,7 +41,7 @@ ___ • **devUtils**: *string* -*Defined in [contract-addresses/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L18)* +*Defined in [contract-addresses/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L18)* ___ @@ -69,7 +49,7 @@ ___ • **dutchAuction**: *string* -*Defined in [contract-addresses/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L12)* +*Defined in [contract-addresses/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L12)* ___ @@ -77,7 +57,7 @@ ___ • **erc1155Proxy**: *string* -*Defined in [contract-addresses/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L17)* +*Defined in [contract-addresses/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L17)* ___ @@ -85,7 +65,7 @@ ___ • **erc20Proxy**: *string* -*Defined in [contract-addresses/src/index.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L4)* +*Defined in [contract-addresses/src/index.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L4)* ___ @@ -93,7 +73,7 @@ ___ • **erc721Proxy**: *string* -*Defined in [contract-addresses/src/index.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L5)* +*Defined in [contract-addresses/src/index.ts:5](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L5)* ___ @@ -101,7 +81,7 @@ ___ • **etherToken**: *string* -*Defined in [contract-addresses/src/index.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L7)* +*Defined in [contract-addresses/src/index.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L7)* ___ @@ -109,7 +89,7 @@ ___ • **exchange**: *string* -*Defined in [contract-addresses/src/index.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L8)* +*Defined in [contract-addresses/src/index.ts:8](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L8)* ___ @@ -117,7 +97,7 @@ ___ • **forwarder**: *string* -*Defined in [contract-addresses/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L10)* +*Defined in [contract-addresses/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L10)* ___ @@ -125,7 +105,7 @@ ___ • **multiAssetProxy**: *string* -*Defined in [contract-addresses/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L15)* +*Defined in [contract-addresses/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L15)* ___ @@ -133,7 +113,7 @@ ___ • **orderValidator**: *string* -*Defined in [contract-addresses/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L11)* +*Defined in [contract-addresses/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L11)* ___ @@ -141,7 +121,7 @@ ___ • **staticCallProxy**: *string* -*Defined in [contract-addresses/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L16)* +*Defined in [contract-addresses/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L16)* ___ @@ -149,7 +129,7 @@ ___ • **zrxToken**: *string* -*Defined in [contract-addresses/src/index.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L6)* +*Defined in [contract-addresses/src/index.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L6)*
@@ -198,7 +178,7 @@ ___ • **isEIP1193**: *boolean* -*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L73)* +*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* ## Methods @@ -206,7 +186,7 @@ ___ ▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* -*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L75)* +*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* **Parameters:** @@ -230,7 +210,7 @@ ___ ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L74)* +*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* **Parameters:** @@ -255,7 +235,27 @@ Name | Type | +# Interface: GanacheProvider + + +## Methods + +### sendAsync + +▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* +*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* + +**Parameters:** + +Name | Type | +------ | ------ | +`payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | +`callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | + +**Returns:** *void* + +
@@ -268,7 +268,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -276,7 +276,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -284,7 +284,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -292,7 +292,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -305,7 +305,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -313,7 +313,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -326,7 +326,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -334,7 +334,7 @@ ___ • **id**: *number* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -342,7 +342,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -350,7 +350,7 @@ ___ • **result**: *any* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -389,6 +389,8 @@ ___ + + @@ -403,7 +405,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -411,7 +413,7 @@ ___ • **from**: *string* -*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ @@ -421,7 +423,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -431,7 +433,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -441,7 +443,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -451,7 +453,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -461,7 +463,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)* +*Defined in [ethereum-types/src/index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)*
@@ -476,7 +478,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -486,7 +488,7 @@ ___ *Inherited from [TxData](#interface-txdata).[from](#from)* -*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ @@ -496,7 +498,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -506,7 +508,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -516,7 +518,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -526,7 +528,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -536,7 +538,7 @@ ___ *Overrides [CallTxDataBase](_ethereum_types_src_index_.calltxdatabase.md).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L434)* +*Defined in [ethereum-types/src/index.ts:442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L442)*
@@ -553,7 +555,7 @@ This interface allowed sending synchonous requests, support for which was later ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L45)* +*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* **Parameters:** @@ -569,7 +571,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L44)* +*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* **Parameters:** @@ -595,7 +597,7 @@ before the first attempts to conform to EIP1193 ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L54)* +*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* **Parameters:** @@ -621,7 +623,7 @@ however it does not conform entirely. ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L63)* +*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* **Parameters:** @@ -647,7 +649,7 @@ add here • **isMetaMask**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L31)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ @@ -655,7 +657,7 @@ ___ • **isParity**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L32)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ @@ -663,7 +665,7 @@ ___ • **isZeroExProvider**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L30)* +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* ## Methods @@ -671,7 +673,7 @@ ___ ▸ **enable**(): *`Promise`* -*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L34)* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* **Returns:** *`Promise`* @@ -681,7 +683,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L35)* +*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* **Parameters:** @@ -698,7 +700,7 @@ ___ ▸ **stop**(): *void* -*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L33)* +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* **Returns:** *void* @@ -707,63 +709,13 @@ ___ -## Functions - -### runMigrationsAsync - -▸ **runMigrationsAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `TxData`): *`Promise`* - -*Defined in [migrations/src/migration.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/migrations/src/migration.ts#L48)* - -Creates and deploys all the contracts that are required for the latest -version of the 0x protocol. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`supportedProvider` | [SupportedProvider](#supportedprovider) | Web3 provider instance. Your provider instance should connect to the testnet you want to deploy to. | -`txDefaults` | `TxData` | Default transaction values to use when deploying contracts (e.g., specify the desired contract creator with the `from` parameter). | - -**Returns:** *`Promise`* - -The addresses of the contracts that were deployed. - -___ - -### runMigrationsOnceAsync - -▸ **runMigrationsOnceAsync**(`provider`: `Web3ProviderEngine`, `txDefaults`: `TxData`): *`Promise`* - -*Defined in [migrations/src/migration.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/migrations/src/migration.ts#L324)* - -Exactly like runMigrationsAsync but will only run the migrations the first -time it is called. Any subsequent calls will return the cached contract -addresses. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`provider` | `Web3ProviderEngine` | Web3 provider instance. Your provider instance should connect to the testnet you want to deploy to. | -`txDefaults` | `TxData` | Default transaction values to use when deploying contracts (e.g., specify the desired contract creator with the `from` parameter). | - -**Returns:** *`Promise`* - -The addresses of the contracts that were deployed. - -
- - - - ## Functions ### getContractAddressesForNetworkOrThrow ▸ **getContractAddressesForNetworkOrThrow**(`networkId`: [NetworkId](#enumeration-networkid)): *[ContractAddresses](#interface-contractaddresses)* -*Defined in [contract-addresses/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L128)* +*Defined in [contract-addresses/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/contract-addresses/src/index.ts#L128)* Used to get addresses of contracts that have been deployed to either the Ethereum mainnet or a supported testnet. Throws if there are no known @@ -780,28 +732,6 @@ Name | Type | Description | The set of addresses for contracts which have been deployed on the given networkId. -___ - -### getNetworkIdByExchangeAddressOrThrow - -▸ **getNetworkIdByExchangeAddressOrThrow**(`exchangeAddress`: string): *[NetworkId](#enumeration-networkid)* - -*Defined in [contract-addresses/src/index.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L142)* - -Uses a given exchange address to look up the network id that the exchange contract is deployed -on. Only works for Ethereum mainnet or a supported testnet. Throws if the exchange address -does not correspond to a known deployed exchange contract. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`exchangeAddress` | string | The exchange address of concern | - -**Returns:** *[NetworkId](#enumeration-networkid)* - -The network ID on which the exchange contract is deployed -
@@ -819,11 +749,13 @@ The network ID on which the exchange contract is deployed + + ### EIP1193Event Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L70)* +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md @@ -840,7 +772,7 @@ ___ Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L3)* +*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: @@ -869,7 +801,7 @@ ___ Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L9)* +*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. @@ -884,7 +816,57 @@ ___ Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L11)* +*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)* + +
+ + + + +## Functions + +### runMigrationsAsync + +▸ **runMigrationsAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `TxData`): *`Promise`* + +*Defined in [migrations/src/migration.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/migrations/src/migration.ts#L48)* + +Creates and deploys all the contracts that are required for the latest +version of the 0x protocol. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`supportedProvider` | [SupportedProvider](#supportedprovider) | Web3 provider instance. Your provider instance should connect to the testnet you want to deploy to. | +`txDefaults` | `TxData` | Default transaction values to use when deploying contracts (e.g., specify the desired contract creator with the `from` parameter). | + +**Returns:** *`Promise`* + +The addresses of the contracts that were deployed. + +___ + +### runMigrationsOnceAsync + +▸ **runMigrationsOnceAsync**(`provider`: `Web3ProviderEngine`, `txDefaults`: `TxData`): *`Promise`* + +*Defined in [migrations/src/migration.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/migrations/src/migration.ts#L335)* + +Exactly like runMigrationsAsync but will only run the migrations the first +time it is called. Any subsequent calls will return the cached contract +addresses. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`provider` | `Web3ProviderEngine` | Web3 provider instance. Your provider instance should connect to the testnet you want to deploy to. | +`txDefaults` | `TxData` | Default transaction values to use when deploying contracts (e.g., specify the desired contract creator with the `from` parameter). | + +**Returns:** *`Promise`* + +The addresses of the contracts that were deployed.
diff --git a/packages/migrations/package.json b/packages/migrations/package.json index effa10c1ca..873377b56e 100644 --- a/packages/migrations/package.json +++ b/packages/migrations/package.json @@ -1,6 +1,6 @@ { "name": "@0x/migrations", - "version": "4.3.2", + "version": "4.4.0-beta.0", "engines": { "node": ">=6.12" }, @@ -40,10 +40,10 @@ }, "license": "Apache-2.0", "devDependencies": { - "@0x/dev-utils": "^2.3.3", + "@0x/dev-utils": "^2.4.0-beta.0", "@0x/ts-doc-gen": "^0.0.22", "@0x/tslint-config": "^3.0.1", - "@0x/types": "^2.4.3", + "@0x/types": "^2.5.0-beta.0", "@types/yargs": "^11.0.0", "make-promises-safe": "^1.1.0", "npm-run-all": "^4.1.2", @@ -55,22 +55,22 @@ "yargs": "^10.0.3" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.3.2", - "@0x/base-contract": "^5.4.0", - "@0x/contract-addresses": "^3.2.0", - "@0x/contract-artifacts": "^2.2.2", - "@0x/contracts-multisig": "^3.1.14", - "@0x/contracts-staking": "^1.0.0", - "@0x/contracts-exchange": "^2.1.14", - "@0x/contracts-utils": "^3.2.4", - "@0x/sol-compiler": "^3.1.15", - "@0x/subproviders": "^5.0.4", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/contracts-multisig": "^3.2.0-beta.0", + "@0x/contracts-staking": "^1.1.0-beta.0", + "@0x/contracts-exchange": "^2.2.0-beta.0", + "@0x/contracts-utils": "^3.3.0-beta.0", + "@0x/abi-gen-wrappers": "^5.4.0-beta.0", + "@0x/base-contract": "^5.5.0-beta.0", + "@0x/contract-addresses": "^3.3.0-beta.0", + "@0x/contract-artifacts": "^2.3.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@ledgerhq/hw-app-eth": "^4.3.0", "@types/web3-provider-engine": "^14.0.0", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethers": "~4.0.4", "lodash": "^4.17.11" }, diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json index 5e8a3ba2f4..628878ca40 100644 --- a/packages/monorepo-scripts/package.json +++ b/packages/monorepo-scripts/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@0x/monorepo-scripts", - "version": "1.0.37", + "version": "1.0.38", "engines": { "node": ">=6.12" }, @@ -47,8 +47,8 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/types": "^2.4.3", - "@0x/utils": "^4.5.2", + "@0x/types": "^2.5.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", "@lerna/batch-packages": "^3.0.0-beta.18", "@types/depcheck": "^0.6.0", "async-child-process": "^1.1.1", diff --git a/packages/monorepo-scripts/src/publish.ts b/packages/monorepo-scripts/src/publish.ts index 429b70b639..397336c8d0 100644 --- a/packages/monorepo-scripts/src/publish.ts +++ b/packages/monorepo-scripts/src/publish.ts @@ -68,11 +68,10 @@ async function confirmAsync(message: string): Promise { } }); - // Generate markdown docs for packages - await generateDocMDAsync(packagesWithDocs); - // Push changelogs changes and markdown docs to Github if (!configs.IS_LOCAL_PUBLISH) { + // Generate markdown docs for packages + await generateDocMDAsync(packagesWithDocs); await pushChangelogsAndMDDocsToGithubAsync(); } @@ -252,6 +251,9 @@ async function lernaPublishAsync(packageToNextVersion: { [name: string]: string lernaPublishArgs.push('--no-git-tag-version'); lernaPublishArgs.push('--no-push'); } + if (configs.DIST_TAG !== '') { + lernaPublishArgs.push(`--dist-tag ${configs.DIST_TAG}`); + } utils.log('Lerna is publishing...'); try { const child = spawn(lernaPublishCmd, lernaPublishArgs, { diff --git a/packages/monorepo-scripts/src/test_installation.ts b/packages/monorepo-scripts/src/test_installation.ts index a0d0bd1603..c8c38bc9d4 100644 --- a/packages/monorepo-scripts/src/test_installation.ts +++ b/packages/monorepo-scripts/src/test_installation.ts @@ -13,6 +13,11 @@ import { utils } from './utils/utils'; // Packages might not be runnable if they are command-line tools or only run in browsers. const UNRUNNABLE_PACKAGES = ['@0x/abi-gen']; +// HACK(fabio): Temporarily adding '@0x/contracts-coordinator', '@0x/contracts-extensions' since they +// aren't working in the V3 branch yet. +// TODO(dorothy-zbornak): Remove '@0x/contracts-coordinator', '@0x/contracts-extensions' after updating +// these packages for 3.0. +const UNINSTALLABLE_PACKAGES = ['@0x/contracts-coordinator', '@0x/contracts-extensions']; const mkdirpAsync = promisify(mkdirp); const rimrafAsync = promisify(rimraf); @@ -51,10 +56,14 @@ function logIfDefined(x: any): void { // fail. But package B only fails because of an error in package A. // Since the error in package A is the root cause, we log it first. const packages = utils.getTopologicallySortedPackages(monorepoRootPath); - const installablePackages = _.filter( - packages, - pkg => !pkg.packageJson.private && pkg.packageJson.main !== undefined && pkg.packageJson.main.endsWith('.js'), - ); + const installablePackages = _.filter(packages, pkg => { + return ( + !pkg.packageJson.private && + pkg.packageJson.main !== undefined && + pkg.packageJson.main.endsWith('.js') && + !UNINSTALLABLE_PACKAGES.includes(pkg.packageJson.name) + ); + }); const CHUNK_SIZE = 15; const chunkedInstallablePackages = _.chunk(installablePackages, CHUNK_SIZE); utils.log(`Testing all packages in ${chunkedInstallablePackages.length} chunks`); @@ -143,7 +152,9 @@ async function testInstallPackageAsync( if (!isUnrunnablePkg) { const transpiledIndexFilePath = path.join(testDirectory, 'index.js'); utils.log(`Running test script with ${packageName} imported`); - await execAsync(`node ${transpiledIndexFilePath}`); + // tslint:disable-next-line:custom-no-magic-numbers + const fiveMb = 1024 * 1024 * 5; + await execAsync(`node ${transpiledIndexFilePath}`, { maxBuffer: fiveMb }); utils.log(`Successfully ran test script with ${packageName} imported`); } await rimrafAsync(testDirectory); diff --git a/packages/monorepo-scripts/src/utils/configs.ts b/packages/monorepo-scripts/src/utils/configs.ts index 17d4a6c1d0..7d013fb61b 100644 --- a/packages/monorepo-scripts/src/utils/configs.ts +++ b/packages/monorepo-scripts/src/utils/configs.ts @@ -1,9 +1,11 @@ const IS_LOCAL_PUBLISH = process.env.IS_LOCAL_PUBLISH === 'true'; +const DIST_TAG = process.env.DIST_TAG || ''; const LOCAL_NPM_REGISTRY_URL = 'http://localhost:4873'; const REMOTE_NPM_REGISTRY_URL = 'https://registry.npmjs.org/'; export const configs = { IS_LOCAL_PUBLISH, + DIST_TAG, NPM_REGISTRY_URL: IS_LOCAL_PUBLISH ? LOCAL_NPM_REGISTRY_URL : REMOTE_NPM_REGISTRY_URL, DOCKER_HUB_ORG: '0xorg', }; diff --git a/packages/order-utils/CHANGELOG.json b/packages/order-utils/CHANGELOG.json index 8f3a957f32..294c26d183 100644 --- a/packages/order-utils/CHANGELOG.json +++ b/packages/order-utils/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "9.0.0", + "version": "8.5.0-beta.0", "changes": [ { "note": "Add `chainId` `OrderValidationUtils`, `OrderFactory`", @@ -110,7 +110,8 @@ "note": "Add `InvalidMinimumPoolStake` to `StakingRevertErrors.InvalidParamValueErrorCode`.", "pr": 2155 } - ] + ], + "timestamp": 1570135330 }, { "version": "8.4.0", diff --git a/packages/order-utils/CHANGELOG.md b/packages/order-utils/CHANGELOG.md index c0c236aeeb..2f217d5671 100644 --- a/packages/order-utils/CHANGELOG.md +++ b/packages/order-utils/CHANGELOG.md @@ -5,6 +5,36 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v8.5.0-beta.0 - _October 3, 2019_ + + * Add `chainId` `OrderValidationUtils`, `OrderFactory` (#1742) + * Update tools to use new `Order` and `ZeroExTransaction` structure (#1742) + * Update domain schema for Exchange and Coordinator (#1742) + * Add Exchange `RevertError` types to `ExchangeRevertErrors` (#1761) + * Add `SignatureOrderValidatorError` type to `ExchangeRevertErrors` (#1774) + * Add `SignatureWalletOrderValidatorError` type to `ExchangeRevertErrors` (#1774) + * Reorder parameters of some `RevertError` types to match smart contracts. (#1790) + * Use arbitrary fee tokens instead of ZRX (ZEIP-28) for tools needed by contracts packages. (#1819) + * Update `RevertError` types for new base constructor (#1819) + * Add `Expired` TransactionErrorCode (#1832) + * Add `expirationTimeSeconds` to `ZeroExTransaction` parameters used for hashing (#1832) + * Add `validator` field to `SignatureValidatorError` `RevertError` types. (#1885) + * Remove unused `RevertError` types. (#1885) + * Add `ExchangeRevertErrors.SignatureErrorCode.InvalidSigner`. (#2042) + * Add `takerAssetFillAmount` field to `IncompleteFillError` type (#2075) + * Update `IncompleteFillError` to take an `errorCode`, `expectedAssetFillAmount`, and `actualAssetFillAmount` fields. (#2075) + * Add EIP712 types for Staking (#1910) + * Add `InvalidCobbDouglasAlphaError` `RevertError` type to `StakingRevertErrors` (#2109) + * Rename `OperatorShareMustBeBetween0And100Error` `RevertError` type to `InvalidPoolOperatorShareError`. (#2109) + * Add `TransactionGasPriceError` and `TransactionInvalidContextError` to error registry. (#2109) + * Add `EthVaultNotSetError, `RewardVaultNotSetError`, and `InvalidStakeStatusError` to error registry. (#2118) + * Add `InvalidStakeStatusError` to error registry. (#2126) + * Add `InitializationError`, `InvalidParamValue` to `StakingRevertErrors`. (#2131) + * Add `CumulativeRewardIntervalError`. (#2154) + * Remove `validateOrderFillableOrThrowAsync`, `simpleValidateOrderFillableOrThrowAsync`, `validateMakerTransferThrowIfInvalidAsync` (#2181) + * Add `PreviousEpochNotFinalizedError` to `StakingRevertErrors`. (#2155) + * Add `InvalidMinimumPoolStake` to `StakingRevertErrors.InvalidParamValueErrorCode`. (#2155) + ## v8.4.0 - _September 17, 2019_ * Implement `simpleValidateOrderFillableOrThrowAsync` (#2096) diff --git a/packages/order-utils/docs/reference.mdx b/packages/order-utils/docs/reference.mdx index e9af45b3e4..ce24c7ebd6 100644 --- a/packages/order-utils/docs/reference.mdx +++ b/packages/order-utils/docs/reference.mdx @@ -1,4 +1,53 @@ +# Class: AbstractBalanceAndProxyAllowanceFetcher + +An abstract class to be implemented in order to use OrderStateUtils. The class that +implements this interface must be capable of fetching the balance and proxyAllowance +for an Ethereum address and assetData + + +## Methods + +### `Abstract` getBalanceAsync + +▸ **getBalanceAsync**(`assetData`: string, `userAddress`: string): *`Promise`* + +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_fetcher.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_fetcher.ts#L15)* + +Get balance of assetData for userAddress + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetData for which to fetch the balance | +`userAddress` | string | Ethereum address for which to fetch the balance | + +**Returns:** *`Promise`* + +Balance amount in base units + +___ + +### `Abstract` getProxyAllowanceAsync + +▸ **getProxyAllowanceAsync**(`assetData`: string, `userAddress`: string): *`Promise`* +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_fetcher.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_fetcher.ts#L22)* + +Get the 0x asset proxy allowance of assetData for userAddress + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`assetData` | string | AssetData for which to fetch the allowance | +`userAddress` | string | Ethereum address for which to fetch the allowance | + +**Returns:** *`Promise`* + +Allowance amount in base units + +
# Class: AbstractBalanceAndProxyAllowanceLazyStore @@ -14,7 +63,7 @@ ▸ **deleteAll**(): *void* -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L10)* +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L10)* **Returns:** *void* @@ -24,7 +73,7 @@ ___ ▸ **deleteBalance**(`assetData`: string, `userAddress`: string): *void* -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L7)* +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L7)* **Parameters:** @@ -41,7 +90,7 @@ ___ ▸ **deleteProxyAllowance**(`assetData`: string, `userAddress`: string): *void* -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L9)* +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L9)* **Parameters:** @@ -58,7 +107,7 @@ ___ ▸ **getBalanceAsync**(`assetData`: string, `userAddress`: string): *`Promise`* -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L4)* +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L4)* **Parameters:** @@ -75,7 +124,7 @@ ___ ▸ **getProxyAllowanceAsync**(`assetData`: string, `userAddress`: string): *`Promise`* -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L5)* +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:5](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L5)* **Parameters:** @@ -92,7 +141,7 @@ ___ ▸ **setBalance**(`assetData`: string, `userAddress`: string, `balance`: `BigNumber`): *void* -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L6)* +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L6)* **Parameters:** @@ -110,7 +159,7 @@ ___ ▸ **setProxyAllowance**(`assetData`: string, `userAddress`: string, `proxyAllowance`: `BigNumber`): *void* -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L8)* +*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts:8](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_lazy_store.ts#L8)* **Parameters:** @@ -137,7 +186,7 @@ and whether it's been cancelled. ▸ **getFilledTakerAmountAsync**(`orderHash`: string): *`Promise`* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts#L15)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts#L15)* Get the amount of the order's takerToken amount already filled @@ -153,21 +202,11 @@ FilledTakerAmount ___ -### `Abstract` getZRXAssetData - -▸ **getZRXAssetData**(): *string* - -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts#L22)* - -**Returns:** *string* - -___ - ### `Abstract` isOrderCancelledAsync ▸ **isOrderCancelledAsync**(`signedOrder`: `SignedOrder`): *`Promise`* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts#L21)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_fetcher.ts#L21)* Whether an order is cancelled @@ -197,7 +236,7 @@ Whether or not the order is cancelled ▸ **deleteAll**(): *void* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L11)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L11)* **Returns:** *void* @@ -207,7 +246,7 @@ ___ ▸ **deleteFilledTakerAmount**(`orderHash`: string): *void* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L8)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:8](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L8)* **Parameters:** @@ -223,7 +262,7 @@ ___ ▸ **deleteIsCancelled**(`orderHash`: string): *void* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L10)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L10)* **Parameters:** @@ -239,7 +278,7 @@ ___ ▸ **getFilledTakerAmountAsync**(`orderHash`: string): *`Promise`* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L5)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:5](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L5)* **Parameters:** @@ -255,7 +294,7 @@ ___ ▸ **getIsCancelledAsync**(`signedOrder`: `SignedOrder`): *`Promise`* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L6)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L6)* **Parameters:** @@ -267,21 +306,11 @@ Name | Type | ___ -### `Abstract` getZRXAssetData - -▸ **getZRXAssetData**(): *string* - -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L12)* - -**Returns:** *string* - -___ - ### `Abstract` setFilledTakerAmount ▸ **setFilledTakerAmount**(`orderHash`: string, `balance`: `BigNumber`): *void* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L7)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L7)* **Parameters:** @@ -298,7 +327,7 @@ ___ ▸ **setIsCancelled**(`orderHash`: string, `isCancelled`: boolean): *void* -*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L9)* +*Defined in [order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/abstract/abstract_order_filled_cancelled_lazy_store.ts#L9)* **Parameters:** @@ -311,6 +340,44 @@ Name | Type |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # Class: ExchangeTransferSimulator An exchange transfer simulator which simulates asset transfers exactly how the @@ -323,7 +390,7 @@ An exchange transfer simulator which simulates asset transfers exactly how the \+ **new ExchangeTransferSimulator**(`store`: [AbstractBalanceAndProxyAllowanceLazyStore](_order_utils_src_abstract_abstract_balance_and_proxy_allowance_lazy_store_.abstractbalanceandproxyallowancelazystore.md)): *[ExchangeTransferSimulator](#class-exchangetransfersimulator)* -*Defined in [order-utils/src/exchange_transfer_simulator.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/exchange_transfer_simulator.ts#L50)* +*Defined in [order-utils/src/exchange_transfer_simulator.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/exchange_transfer_simulator.ts#L50)* Instantiate a ExchangeTransferSimulator @@ -343,7 +410,7 @@ an instance of ExchangeTransferSimulator ▸ **transferFromAsync**(`assetData`: string, `from`: string, `to`: string, `amountInBaseUnits`: `BigNumber`, `tradeSide`: [TradeSide](#enumeration-tradeside), `transferType`: [TransferType](#enumeration-transfertype)): *`Promise`* -*Defined in [order-utils/src/exchange_transfer_simulator.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/exchange_transfer_simulator.ts#L70)* +*Defined in [order-utils/src/exchange_transfer_simulator.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/exchange_transfer_simulator.ts#L70)* Simulates transferFrom call performed by a proxy @@ -362,6 +429,32 @@ Name | Type | Description |
+ + + + + + + + + + + + + + + + + + + + + + + + + + # Class: OrderStateUtils @@ -371,7 +464,7 @@ Name | Type | Description | \+ **new OrderStateUtils**(`balanceAndProxyAllowanceFetcher`: [AbstractBalanceAndProxyAllowanceFetcher](_order_utils_src_abstract_abstract_balance_and_proxy_allowance_fetcher_.abstractbalanceandproxyallowancefetcher.md), `orderFilledCancelledFetcher`: [AbstractOrderFilledCancelledFetcher](_order_utils_src_abstract_abstract_order_filled_cancelled_fetcher_.abstractorderfilledcancelledfetcher.md)): *[OrderStateUtils](#class-orderstateutils)* -*Defined in [order-utils/src/order_state_utils.ts:98](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_state_utils.ts#L98)* +*Defined in [order-utils/src/order_state_utils.ts:98](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_state_utils.ts#L98)* Instantiate OrderStateUtils @@ -392,7 +485,7 @@ Instance of OrderStateUtils ▸ **getMaxFillableTakerAssetAmountAsync**(`signedOrder`: `SignedOrder`, `takerAddress`: string): *`Promise`* -*Defined in [order-utils/src/order_state_utils.ts:192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_state_utils.ts#L192)* +*Defined in [order-utils/src/order_state_utils.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_state_utils.ts#L192)* Get the max amount of the supplied order's takerAmount that could still be filled @@ -413,7 +506,7 @@ ___ ▸ **getOpenOrderRelevantStateAsync**(`signedOrder`: `SignedOrder`): *`Promise`* -*Defined in [order-utils/src/order_state_utils.ts:162](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_state_utils.ts#L162)* +*Defined in [order-utils/src/order_state_utils.ts:162](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_state_utils.ts#L162)* Get state relevant to an order (i.e makerBalance, makerAllowance, filledTakerAssetAmount, etc... @@ -433,7 +526,7 @@ ___ ▸ **getOpenOrderStateAsync**(`signedOrder`: `SignedOrder`, `transactionHash?`: undefined | string): *`Promise`* -*Defined in [order-utils/src/order_state_utils.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_state_utils.ts#L122)* +*Defined in [order-utils/src/order_state_utils.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_state_utils.ts#L122)* Get the orderState for an "open" order (i.e where takerAddress=NULL_ADDRESS) This method will only check the maker's balance/allowance to calculate the @@ -464,7 +557,7 @@ A utility class for validating orders \+ **new OrderValidationUtils**(`orderFilledCancelledFetcher`: [AbstractOrderFilledCancelledFetcher](_order_utils_src_abstract_abstract_order_filled_cancelled_fetcher_.abstractorderfilledcancelledfetcher.md), `supportedProvider`: [SupportedProvider](#supportedprovider)): *[OrderValidationUtils](#class-ordervalidationutils)* -*Defined in [order-utils/src/order_validation_utils.ts:167](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_validation_utils.ts#L167)* +*Defined in [order-utils/src/order_validation_utils.ts:113](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_validation_utils.ts#L113)* Instantiate OrderValidationUtils @@ -481,31 +574,11 @@ An instance of OrderValidationUtils ## Methods -### simpleValidateOrderFillableOrThrowAsync - -▸ **simpleValidateOrderFillableOrThrowAsync**(`provider`: [SupportedProvider](#supportedprovider), `signedOrder`: `SignedOrder`, `opts`: [ValidateOrderFillableOpts](#interface-validateorderfillableopts)): *`Promise`* - -*Defined in [order-utils/src/order_validation_utils.ts:196](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_validation_utils.ts#L196)* - -Validate if the supplied order is fillable, and throw if it isn't - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`provider` | [SupportedProvider](#supportedprovider) | - | The same provider used to interact with contracts | -`signedOrder` | `SignedOrder` | - | SignedOrder of interest | -`opts` | [ValidateOrderFillableOpts](#interface-validateorderfillableopts) | {} | ValidateOrderFillableOpts options (e.g expectedFillTakerTokenAmount. If it isn't supplied, we check if the order is fillable for the remaining amount. To check if the order is fillable for a non-zero amount, set `validateRemainingOrderAmountIsFillable` to false.) | - -**Returns:** *`Promise`* - -___ - ### validateFillOrderThrowIfInvalidAsync -▸ **validateFillOrderThrowIfInvalidAsync**(`exchangeTradeEmulator`: [ExchangeTransferSimulator](_order_utils_src_exchange_transfer_simulator_.exchangetransfersimulator.md), `supportedProvider`: [SupportedProvider](#supportedprovider), `signedOrder`: `SignedOrder`, `fillTakerAssetAmount`: `BigNumber`, `takerAddress`: string, `zrxAssetData`: string): *`Promise`* +▸ **validateFillOrderThrowIfInvalidAsync**(`exchangeTradeEmulator`: [ExchangeTransferSimulator](#class-exchangetransfersimulator), `signedOrder`: `SignedOrder`, `fillTakerAssetAmount`: `BigNumber`, `takerAddress`: string): *`Promise`* -*Defined in [order-utils/src/order_validation_utils.ts:313](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_validation_utils.ts#L313)* +*Defined in [order-utils/src/order_validation_utils.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_validation_utils.ts#L135)* Validate a call to FillOrder and throw if it wouldn't succeed @@ -514,42 +587,19 @@ Validate a call to FillOrder and throw if it wouldn't succeed Name | Type | Description | ------ | ------ | ------ | `exchangeTradeEmulator` | [ExchangeTransferSimulator](#class-exchangetransfersimulator) | ExchangeTradeEmulator to use | -`supportedProvider` | [SupportedProvider](#supportedprovider) | Web3 provider to use for JSON RPC requests | `signedOrder` | `SignedOrder` | SignedOrder of interest | `fillTakerAssetAmount` | `BigNumber` | Amount we'd like to fill the order for | -`takerAddress` | string | The taker of the order | -`zrxAssetData` | string | ZRX asset data | +`takerAddress` | string | The taker of the order | **Returns:** *`Promise`* ___ -### validateOrderFillableOrThrowAsync - -▸ **validateOrderFillableOrThrowAsync**(`exchangeTradeEmulator`: [ExchangeTransferSimulator](#class-exchangetransfersimulator), `signedOrder`: `SignedOrder`, `zrxAssetData`: string, `expectedFillTakerTokenAmount?`: `BigNumber`): *`Promise`* - -*Defined in [order-utils/src/order_validation_utils.ts:261](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_validation_utils.ts#L261)* - -Validate if the supplied order is fillable, and throw if it isn't - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`exchangeTradeEmulator` | [ExchangeTransferSimulator](#class-exchangetransfersimulator) | ExchangeTradeEmulator instance | -`signedOrder` | `SignedOrder` | SignedOrder of interest | -`zrxAssetData` | string | ZRX assetData | -`expectedFillTakerTokenAmount?` | `BigNumber` | If supplied, this call will make sure this amount is fillable. If it isn't supplied, we check if the order is fillable for a non-zero amount | - -**Returns:** *`Promise`* - -___ - ### `Static` isRoundingErrorFloor ▸ **isRoundingErrorFloor**(`numerator`: `BigNumber`, `denominator`: `BigNumber`, `target`: `BigNumber`): *boolean* -*Defined in [order-utils/src/order_validation_utils.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_validation_utils.ts#L42)* +*Defined in [order-utils/src/order_validation_utils.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_validation_utils.ts#L27)* A TypeScript implementation mirroring the implementation of isRoundingError in the Exchange smart contract @@ -568,9 +618,9 @@ ___ ### `Static` validateFillOrderBalancesAllowancesThrowIfInvalidAsync -▸ **validateFillOrderBalancesAllowancesThrowIfInvalidAsync**(`exchangeTradeEmulator`: [ExchangeTransferSimulator](#class-exchangetransfersimulator), `signedOrder`: `SignedOrder`, `fillTakerAssetAmount`: `BigNumber`, `senderAddress`: string, `zrxAssetData`: string): *`Promise`* +▸ **validateFillOrderBalancesAllowancesThrowIfInvalidAsync**(`exchangeTradeEmulator`: [ExchangeTransferSimulator](#class-exchangetransfersimulator), `signedOrder`: `SignedOrder`, `fillTakerAssetAmount`: `BigNumber`, `senderAddress`: string): *`Promise`* -*Defined in [order-utils/src/order_validation_utils.ts:69](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_validation_utils.ts#L69)* +*Defined in [order-utils/src/order_validation_utils.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_validation_utils.ts#L53)* Validate that the maker & taker have sufficient balances/allowances to fill the supplied order to the fillTakerAssetAmount amount @@ -582,35 +632,45 @@ Name | Type | Description | `exchangeTradeEmulator` | [ExchangeTransferSimulator](#class-exchangetransfersimulator) | ExchangeTradeEmulator to use | `signedOrder` | `SignedOrder` | SignedOrder to test | `fillTakerAssetAmount` | `BigNumber` | Amount of takerAsset to fill the signedOrder | -`senderAddress` | string | Sender of the fillOrder tx | -`zrxAssetData` | string | AssetData for the ZRX token | +`senderAddress` | string | Sender of the fillOrder tx | **Returns:** *`Promise`* -___ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + -### `Static` validateMakerTransferThrowIfInvalidAsync -▸ **validateMakerTransferThrowIfInvalidAsync**(`networkId`: `NetworkId`, `supportedProvider`: [SupportedProvider](#supportedprovider), `signedOrder`: `SignedOrder`, `makerAssetAmount`: `BigNumber`, `takerAddress?`: undefined | string): *`Promise`* -*Defined in [order-utils/src/order_validation_utils.ts:135](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_validation_utils.ts#L135)* -Validate the transfer from the maker to the taker. This is simulated on-chain -via an eth_call. If this call fails, the asset is currently nontransferable. -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`networkId` | `NetworkId` | - | -`supportedProvider` | [SupportedProvider](#supportedprovider) | - | -`signedOrder` | `SignedOrder` | SignedOrder of interest | -`makerAssetAmount` | `BigNumber` | Amount to transfer from the maker | -`takerAddress?` | undefined \| string | The address to transfer to, defaults to signedOrder.takerAddress | -**Returns:** *`Promise`* -
# Class: BalanceAndProxyAllowanceLazyStore @@ -628,7 +688,7 @@ Copy on read store for balances/proxyAllowances of tokens/accounts \+ **new BalanceAndProxyAllowanceLazyStore**(`balanceAndProxyAllowanceFetcher`: [AbstractBalanceAndProxyAllowanceFetcher](_order_utils_src_abstract_abstract_balance_and_proxy_allowance_fetcher_.abstractbalanceandproxyallowancefetcher.md)): *[BalanceAndProxyAllowanceLazyStore](#class-balanceandproxyallowancelazystore)* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:23](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L23)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L23)* Instantiates a BalanceAndProxyAllowanceLazyStore @@ -648,7 +708,7 @@ Instance of BalanceAndProxyAllowanceLazyStore ▸ **deleteAll**(): *void* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L136)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L136)* Delete all balances & allowances @@ -660,7 +720,7 @@ ___ ▸ **deleteAllERC721ProxyAllowance**(`tokenAddress`: string, `userAddress`: string): *void* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:119](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L119)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:119](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L119)* Clear all ERC721 0x proxy allowances a user has on all items of a specific ERC721 contract @@ -679,7 +739,7 @@ ___ ▸ **deleteBalance**(`assetData`: string, `userAddress`: string): *void* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L63)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L63)* Clear the balance of an asset for a user @@ -698,7 +758,7 @@ ___ ▸ **deleteProxyAllowance**(`assetData`: string, `userAddress`: string): *void* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:106](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L106)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:106](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L106)* Clear the 0x asset proxy allowance @@ -717,7 +777,7 @@ ___ ▸ **getBalanceAsync**(`assetData`: string, `userAddress`: string): *`Promise`* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L39)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L39)* Get a users balance of an asset @@ -736,7 +796,7 @@ ___ ▸ **getProxyAllowanceAsync**(`assetData`: string, `userAddress`: string): *`Promise`* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:76](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L76)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:76](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L76)* Get the 0x asset proxy allowance @@ -755,7 +815,7 @@ ___ ▸ **setBalance**(`assetData`: string, `userAddress`: string, `balance`: `BigNumber`): *void* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L52)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L52)* Set the balance of an asset for a user @@ -775,7 +835,7 @@ ___ ▸ **setProxyAllowance**(`assetData`: string, `userAddress`: string, `proxyAllowance`: `BigNumber`): *void* -*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:95](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L95)* +*Defined in [order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/balance_and_proxy_allowance_lazy_store.ts#L95)* Set the 0x asset proxy allowance @@ -807,7 +867,7 @@ Copy on read store for balances/proxyAllowances of tokens/accounts \+ **new OrderFilledCancelledLazyStore**(`orderFilledCancelledFetcher`: [AbstractOrderFilledCancelledFetcher](_order_utils_src_abstract_abstract_order_filled_cancelled_fetcher_.abstractorderfilledcancelledfetcher.md)): *[OrderFilledCancelledLazyStore](#class-orderfilledcancelledlazystore)* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L19)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L19)* Instantiate a OrderFilledCancelledLazyStore @@ -827,7 +887,7 @@ An instance of OrderFilledCancelledLazyStore ▸ **deleteAll**(): *void* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L90)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L90)* Clear all filled/cancelled state @@ -839,7 +899,7 @@ ___ ▸ **deleteAllFilled**(): *void* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:103](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L103)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L103)* Clear all filled state @@ -851,7 +911,7 @@ ___ ▸ **deleteAllIsCancelled**(): *void* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:97](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L97)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:97](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L97)* Clear all cancelled state @@ -863,7 +923,7 @@ ___ ▸ **deleteFilledTakerAmount**(`orderHash`: string): *void* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L55)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L55)* Clear the filledTakerAssetAmount of an order @@ -881,7 +941,7 @@ ___ ▸ **deleteIsCancelled**(`orderHash`: string): *void* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L84)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L84)* Clear whether the order has been cancelled if already set @@ -899,7 +959,7 @@ ___ ▸ **getFilledTakerAmountAsync**(`orderHash`: string): *`Promise`* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L35)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L35)* Get the filledTakerAssetAmount of an order @@ -919,7 +979,7 @@ ___ ▸ **getIsCancelledAsync**(`signedOrder`: `SignedOrder`): *`Promise`* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L63)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L63)* Check if an order has been cancelled @@ -935,23 +995,11 @@ Whether the order has been cancelled ___ -### getZRXAssetData - -▸ **getZRXAssetData**(): *string* - -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:109](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L109)* - -Get the ZRX assetData - -**Returns:** *string* - -___ - ### setFilledTakerAmount ▸ **setFilledTakerAmount**(`orderHash`: string, `filledTakerAmount`: `BigNumber`): *void* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L48)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L48)* Set the filledTakerAssetAmount of an order @@ -970,7 +1018,7 @@ ___ ▸ **setIsCancelled**(`orderHash`: string, `isCancelled`: boolean): *void* -*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:77](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L77)* +*Defined in [order-utils/src/store/order_filled_cancelled_lazy_store.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/store/order_filled_cancelled_lazy_store.ts#L77)* Set whether an order has been cancelled or not @@ -985,50 +1033,31 @@ Name | Type | Description |
-# Enumeration: NetworkId -## Enumeration members -### Ganache -• **Ganache**: = 50 -*Defined in [contract-addresses/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L26)* -___ -### Kovan -• **Kovan**: = 42 -*Defined in [contract-addresses/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L25)* -___ -### Mainnet -• **Mainnet**: = 1 -*Defined in [contract-addresses/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L22)* -___ -### Rinkeby -• **Rinkeby**: = 4 -*Defined in [contract-addresses/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L24)* -___ -### Ropsten -• **Ropsten**: = 3 -*Defined in [contract-addresses/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L23)* -
+ + + @@ -1047,7 +1076,7 @@ ___ • **Maker**: = "maker" -*Defined in [order-utils/src/types.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L9)* +*Defined in [order-utils/src/types.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L9)* ___ @@ -1055,7 +1084,7 @@ ___ • **Taker**: = "taker" -*Defined in [order-utils/src/types.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L10)* +*Defined in [order-utils/src/types.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L10)*
@@ -1068,7 +1097,7 @@ ___ • **Fee**: = "fee" -*Defined in [order-utils/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L15)* +*Defined in [order-utils/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L15)* ___ @@ -1076,7 +1105,7 @@ ___ • **Trade**: = "trade" -*Defined in [order-utils/src/types.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L14)* +*Defined in [order-utils/src/types.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L14)*
@@ -1089,7 +1118,7 @@ ___ • **InvalidMetamaskSigner**: = "MetaMask provider must be wrapped in a MetamaskSubprovider (from the '@0x/subproviders' package) in order to work with this method." -*Defined in [order-utils/src/types.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L5)* +*Defined in [order-utils/src/types.ts:5](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L5)* ___ @@ -1097,7 +1126,7 @@ ___ • **InvalidSignature**: = "INVALID_SIGNATURE" -*Defined in [order-utils/src/types.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L4)* +*Defined in [order-utils/src/types.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L4)*
@@ -1110,7 +1139,7 @@ ___ • **ERC1155**: = "0xa7cb5fb7" -*Defined in [types/src/index.ts:171](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L171)* +*Defined in [types/src/index.ts:166](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L166)* ___ @@ -1118,7 +1147,15 @@ ___ • **ERC20**: = "0xf47261b0" -*Defined in [types/src/index.ts:168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L168)* +*Defined in [types/src/index.ts:163](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L163)* + +___ + +### ERC20Bridge + +• **ERC20Bridge**: = "0xdc1600f3" + +*Defined in [types/src/index.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L168)* ___ @@ -1126,7 +1163,7 @@ ___ • **ERC721**: = "0x02571792" -*Defined in [types/src/index.ts:169](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L169)* +*Defined in [types/src/index.ts:164](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L164)* ___ @@ -1134,7 +1171,7 @@ ___ • **MultiAsset**: = "0x94cfcdd7" -*Defined in [types/src/index.ts:170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L170)* +*Defined in [types/src/index.ts:165](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L165)* ___ @@ -1142,7 +1179,7 @@ ___ • **StaticCall**: = "0xc339d10a" -*Defined in [types/src/index.ts:172](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L172)* +*Defined in [types/src/index.ts:167](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L167)*
@@ -1157,7 +1194,7 @@ Errors originating from the 0x exchange contract • **BatchOrdersMustHaveAtLeastOneItem**: = "BATCH_ORDERS_MUST_HAVE_AT_LEAST_ONE_ITEM" -*Defined in [types/src/index.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L104)* +*Defined in [types/src/index.ts:98](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L98)* ___ @@ -1165,7 +1202,7 @@ ___ • **BatchOrdersMustHaveSameExchangeAddress**: = "BATCH_ORDERS_MUST_HAVE_SAME_EXCHANGE_ADDRESS" -*Defined in [types/src/index.ts:103](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L103)* +*Defined in [types/src/index.ts:97](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L97)* ___ @@ -1173,7 +1210,7 @@ ___ • **FillBalanceAllowanceError**: = "FILL_BALANCE_ALLOWANCE_ERROR" -*Defined in [types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L90)* +*Defined in [types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L84)* ___ @@ -1181,7 +1218,7 @@ ___ • **InsufficientMakerAllowance**: = "INSUFFICIENT_MAKER_ALLOWANCE" -*Defined in [types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L94)* +*Defined in [types/src/index.ts:88](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L88)* ___ @@ -1189,7 +1226,7 @@ ___ • **InsufficientMakerBalance**: = "INSUFFICIENT_MAKER_BALANCE" -*Defined in [types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L93)* +*Defined in [types/src/index.ts:87](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L87)* ___ @@ -1197,7 +1234,7 @@ ___ • **InsufficientMakerFeeAllowance**: = "INSUFFICIENT_MAKER_FEE_ALLOWANCE" -*Defined in [types/src/index.ts:98](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L98)* +*Defined in [types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L92)* ___ @@ -1205,7 +1242,7 @@ ___ • **InsufficientMakerFeeBalance**: = "INSUFFICIENT_MAKER_FEE_BALANCE" -*Defined in [types/src/index.ts:97](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L97)* +*Defined in [types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L91)* ___ @@ -1213,7 +1250,7 @@ ___ • **InsufficientRemainingFillAmount**: = "INSUFFICIENT_REMAINING_FILL_AMOUNT" -*Defined in [types/src/index.ts:101](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L101)* +*Defined in [types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L95)* ___ @@ -1221,7 +1258,7 @@ ___ • **InsufficientTakerAllowance**: = "INSUFFICIENT_TAKER_ALLOWANCE" -*Defined in [types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L92)* +*Defined in [types/src/index.ts:86](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L86)* ___ @@ -1229,7 +1266,7 @@ ___ • **InsufficientTakerBalance**: = "INSUFFICIENT_TAKER_BALANCE" -*Defined in [types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L91)* +*Defined in [types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L85)* ___ @@ -1237,7 +1274,7 @@ ___ • **InsufficientTakerFeeAllowance**: = "INSUFFICIENT_TAKER_FEE_ALLOWANCE" -*Defined in [types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L96)* +*Defined in [types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L90)* ___ @@ -1245,7 +1282,7 @@ ___ • **InsufficientTakerFeeBalance**: = "INSUFFICIENT_TAKER_FEE_BALANCE" -*Defined in [types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L95)* +*Defined in [types/src/index.ts:89](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L89)* ___ @@ -1253,7 +1290,7 @@ ___ • **MultipleMakersInSingleCancelBatchDisallowed**: = "MULTIPLE_MAKERS_IN_SINGLE_CANCEL_BATCH_DISALLOWED" -*Defined in [types/src/index.ts:100](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L100)* +*Defined in [types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L94)* ___ @@ -1261,7 +1298,7 @@ ___ • **MultipleTakerTokensInFillUpToDisallowed**: = "MULTIPLE_TAKER_TOKENS_IN_FILL_UP_TO_DISALLOWED" -*Defined in [types/src/index.ts:102](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L102)* +*Defined in [types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L96)* ___ @@ -1269,7 +1306,7 @@ ___ • **OrderCancelExpired**: = "ORDER_CANCEL_EXPIRED" -*Defined in [types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L85)* +*Defined in [types/src/index.ts:79](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L79)* ___ @@ -1277,7 +1314,7 @@ ___ • **OrderCancelled**: = "ORDER_CANCELLED" -*Defined in [types/src/index.ts:86](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L86)* +*Defined in [types/src/index.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L80)* ___ @@ -1285,7 +1322,7 @@ ___ • **OrderFillAmountZero**: = "ORDER_FILL_AMOUNT_ZERO" -*Defined in [types/src/index.ts:87](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L87)* +*Defined in [types/src/index.ts:81](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L81)* ___ @@ -1293,7 +1330,7 @@ ___ • **OrderFillExpired**: = "ORDER_FILL_EXPIRED" -*Defined in [types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L84)* +*Defined in [types/src/index.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L78)* ___ @@ -1301,7 +1338,7 @@ ___ • **OrderFillRoundingError**: = "ORDER_FILL_ROUNDING_ERROR" -*Defined in [types/src/index.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L89)* +*Defined in [types/src/index.ts:83](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L83)* ___ @@ -1309,7 +1346,7 @@ ___ • **OrderRemainingFillAmountZero**: = "ORDER_REMAINING_FILL_AMOUNT_ZERO" -*Defined in [types/src/index.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L88)* +*Defined in [types/src/index.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L82)* ___ @@ -1317,7 +1354,7 @@ ___ • **TransactionSenderIsNotFillOrderTaker**: = "TRANSACTION_SENDER_IS_NOT_FILL_ORDER_TAKER" -*Defined in [types/src/index.ts:99](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L99)* +*Defined in [types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L93)*
@@ -1327,16 +1364,28 @@ ___ + + + + # Enumeration: SignatureType ## Enumeration members +### EIP1271Wallet + +• **EIP1271Wallet**: + +*Defined in [types/src/index.ts:158](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L158)* + +___ + ### EIP712 • **EIP712**: -*Defined in [types/src/index.ts:159](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L159)* +*Defined in [types/src/index.ts:153](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L153)* ___ @@ -1344,7 +1393,7 @@ ___ • **EthSign**: -*Defined in [types/src/index.ts:160](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L160)* +*Defined in [types/src/index.ts:154](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L154)* ___ @@ -1352,7 +1401,7 @@ ___ • **Illegal**: -*Defined in [types/src/index.ts:157](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L157)* +*Defined in [types/src/index.ts:151](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L151)* ___ @@ -1360,7 +1409,7 @@ ___ • **Invalid**: -*Defined in [types/src/index.ts:158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L158)* +*Defined in [types/src/index.ts:152](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L152)* ___ @@ -1368,7 +1417,7 @@ ___ • **NSignatureTypes**: -*Defined in [types/src/index.ts:164](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L164)* +*Defined in [types/src/index.ts:159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L159)* ___ @@ -1376,7 +1425,7 @@ ___ • **PreSigned**: -*Defined in [types/src/index.ts:163](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L163)* +*Defined in [types/src/index.ts:157](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L157)* ___ @@ -1384,7 +1433,7 @@ ___ • **Validator**: -*Defined in [types/src/index.ts:162](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L162)* +*Defined in [types/src/index.ts:156](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L156)* ___ @@ -1392,7 +1441,7 @@ ___ • **Wallet**: -*Defined in [types/src/index.ts:161](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L161)* +*Defined in [types/src/index.ts:155](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L155)*
@@ -1407,57 +1456,6 @@ ___ -## Type aliases - - - -### AssetData - -Ƭ **AssetData**: *[SingleAssetData](_types_src_index_.md#singleassetdata) | [MultiAssetData](#interface-multiassetdata) | [MultiAssetDataWithRecursiveDecoding](#interface-multiassetdatawithrecursivedecoding)* - -*Defined in [types/src/index.ts:228](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L228)* - -___ - - - - - -### EIP712ObjectValue - -Ƭ **EIP712ObjectValue**: *string | number | [EIP712Object](#interface-eip712object)* - -*Defined in [types/src/index.ts:719](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L719)* - -___ - - - -### OrderState - -Ƭ **OrderState**: *[OrderStateValid](#interface-orderstatevalid) | [OrderStateInvalid](#interface-orderstateinvalid)* - -*Defined in [types/src/index.ts:147](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L147)* - -___ - - - - - -### SingleAssetData - -Ƭ **SingleAssetData**: *[ERC20AssetData](#interface-erc20assetdata) | [ERC721AssetData](#interface-erc721assetdata) | [ERC1155AssetData](#interface-erc1155assetdata) | [StaticCallAssetData](#interface-staticcallassetdata)* - -*Defined in [types/src/index.ts:208](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L208)* - -
- - - - - - @@ -1500,7 +1498,7 @@ ___ • **isEIP1193**: *boolean* -*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L73)* +*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* ## Methods @@ -1508,7 +1506,7 @@ ___ ▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* -*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L75)* +*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* **Parameters:** @@ -1532,7 +1530,7 @@ ___ ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L74)* +*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* **Parameters:** @@ -1566,7 +1564,7 @@ Name | Type | ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L14)* +*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* **Parameters:** @@ -1590,7 +1588,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -1598,7 +1596,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -1606,7 +1604,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -1614,7 +1612,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -1627,7 +1625,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -1635,7 +1633,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -1648,7 +1646,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -1656,7 +1654,7 @@ ___ • **id**: *number* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -1664,7 +1662,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -1672,7 +1670,7 @@ ___ • **result**: *any* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -1715,6 +1713,8 @@ ___ + + @@ -1731,7 +1731,7 @@ This interface allowed sending synchonous requests, support for which was later ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L45)* +*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* **Parameters:** @@ -1747,7 +1747,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L44)* +*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* **Parameters:** @@ -1773,7 +1773,7 @@ before the first attempts to conform to EIP1193 ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L54)* +*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* **Parameters:** @@ -1799,7 +1799,7 @@ however it does not conform entirely. ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L63)* +*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* **Parameters:** @@ -1825,7 +1825,7 @@ add here • **isMetaMask**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L31)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ @@ -1833,7 +1833,7 @@ ___ • **isParity**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L32)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ @@ -1841,7 +1841,7 @@ ___ • **isZeroExProvider**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L30)* +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* ## Methods @@ -1849,7 +1849,7 @@ ___ ▸ **enable**(): *`Promise`* -*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L34)* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* **Returns:** *`Promise`* @@ -1859,7 +1859,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L35)* +*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* **Parameters:** @@ -1876,7 +1876,7 @@ ___ ▸ **stop**(): *void* -*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L33)* +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* **Returns:** *void* @@ -1897,7 +1897,7 @@ ___ • **feeOrdersRemainingFillableMakerAssetAmounts**: *`BigNumber`[]* -*Defined in [order-utils/src/types.ts:76](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L76)* +*Defined in [order-utils/src/types.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L78)* ___ @@ -1905,7 +1905,7 @@ ___ • **remainingFeeAmount**: *`BigNumber`* -*Defined in [order-utils/src/types.ts:77](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L77)* +*Defined in [order-utils/src/types.ts:79](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L79)* ___ @@ -1913,7 +1913,7 @@ ___ • **resultFeeOrders**: *`T`[]* -*Defined in [order-utils/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L75)* +*Defined in [order-utils/src/types.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L77)*
@@ -1935,7 +1935,7 @@ Defaults to 0 • **remainingFillableFeeAmounts**? : *`BigNumber`[]* -*Defined in [order-utils/src/types.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L70)* +*Defined in [order-utils/src/types.ts:72](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L72)* ___ @@ -1943,7 +1943,7 @@ ___ • **remainingFillableMakerAssetAmounts**? : *`BigNumber`[]* -*Defined in [order-utils/src/types.ts:69](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L69)* +*Defined in [order-utils/src/types.ts:71](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L71)* ___ @@ -1951,7 +1951,7 @@ ___ • **slippageBufferAmount**? : *`BigNumber`* -*Defined in [order-utils/src/types.ts:71](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L71)* +*Defined in [order-utils/src/types.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L73)*
@@ -1970,7 +1970,7 @@ Defaults to 0 • **remainingFillableMakerAssetAmounts**? : *`BigNumber`[]* -*Defined in [order-utils/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L42)* +*Defined in [order-utils/src/types.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L44)* ___ @@ -1978,7 +1978,7 @@ ___ • **slippageBufferAmount**? : *`BigNumber`* -*Defined in [order-utils/src/types.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L43)* +*Defined in [order-utils/src/types.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L45)*
@@ -1997,7 +1997,7 @@ Defaults to 0 • **remainingFillableTakerAssetAmounts**? : *`BigNumber`[]* -*Defined in [order-utils/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L54)* +*Defined in [order-utils/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L56)* ___ @@ -2005,7 +2005,7 @@ ___ • **slippageBufferAmount**? : *`BigNumber`* -*Defined in [order-utils/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L55)* +*Defined in [order-utils/src/types.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L57)*
@@ -2022,7 +2022,7 @@ ___ • **ordersRemainingFillableMakerAssetAmounts**: *`BigNumber`[]* -*Defined in [order-utils/src/types.ts:82](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L82)* +*Defined in [order-utils/src/types.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L84)* ___ @@ -2030,7 +2030,7 @@ ___ • **remainingFillAmount**: *`BigNumber`* -*Defined in [order-utils/src/types.ts:83](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L83)* +*Defined in [order-utils/src/types.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L85)* ___ @@ -2038,7 +2038,7 @@ ___ • **resultOrders**: *`T`[]* -*Defined in [order-utils/src/types.ts:81](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L81)* +*Defined in [order-utils/src/types.ts:83](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L83)*
@@ -2055,7 +2055,7 @@ ___ • **ordersRemainingFillableTakerAssetAmounts**: *`BigNumber`[]* -*Defined in [order-utils/src/types.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L88)* +*Defined in [order-utils/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L90)* ___ @@ -2063,7 +2063,7 @@ ___ • **remainingFillAmount**: *`BigNumber`* -*Defined in [order-utils/src/types.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L89)* +*Defined in [order-utils/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L91)* ___ @@ -2071,36 +2071,7 @@ ___ • **resultOrders**: *`T`[]* -*Defined in [order-utils/src/types.ts:87](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L87)* - -
- -# Interface: ValidateOrderFillableOpts - - -## Properties - -### `Optional` expectedFillTakerTokenAmount - -• **expectedFillTakerTokenAmount**? : *`BigNumber`* - -*Defined in [order-utils/src/types.ts:29](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L29)* - -___ - -### `Optional` simulationTakerAddress - -• **simulationTakerAddress**? : *undefined | string* - -*Defined in [order-utils/src/types.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L31)* - -___ - -### `Optional` validateRemainingOrderAmountIsFillable - -• **validateRemainingOrderAmountIsFillable**? : *undefined | false | true* - -*Defined in [order-utils/src/types.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/types.ts#L30)* +*Defined in [order-utils/src/types.ts:89](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/types.ts#L89)*
@@ -2112,56 +2083,13 @@ ___ -# Class: AbstractBalanceAndProxyAllowanceFetcher - -An abstract class to be implemented in order to use OrderStateUtils. The class that -implements this interface must be capable of fetching the balance and proxyAllowance -for an Ethereum address and assetData - - -## Methods -### `Abstract` getBalanceAsync - -▸ **getBalanceAsync**(`assetData`: string, `userAddress`: string): *`Promise`* - -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_fetcher.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_fetcher.ts#L15)* -Get balance of assetData for userAddress -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`assetData` | string | AssetData for which to fetch the balance | -`userAddress` | string | Ethereum address for which to fetch the balance | -**Returns:** *`Promise`* -Balance amount in base units -___ - -### `Abstract` getProxyAllowanceAsync - -▸ **getProxyAllowanceAsync**(`assetData`: string, `userAddress`: string): *`Promise`* - -*Defined in [order-utils/src/abstract/abstract_balance_and_proxy_allowance_fetcher.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/abstract/abstract_balance_and_proxy_allowance_fetcher.ts#L22)* - -Get the 0x asset proxy allowance of assetData for userAddress - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`assetData` | string | AssetData for which to fetch the allowance | -`userAddress` | string | Ethereum address for which to fetch the allowance | - -**Returns:** *`Promise`* - -Allowance amount in base units - -
@@ -2182,7 +2110,7 @@ Allowance amount in base units • **assetData**: *[AssetData](#assetdata)* -*Defined in [types/src/index.ts:223](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L223)* +*Defined in [types/src/index.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L219)* ___ @@ -2190,7 +2118,7 @@ ___ • **beginAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L225)* +*Defined in [types/src/index.ts:221](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L221)* ___ @@ -2198,7 +2126,7 @@ ___ • **beginTimeSeconds**: *`BigNumber`* -*Defined in [types/src/index.ts:224](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L224)* +*Defined in [types/src/index.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L220)*
@@ -2215,7 +2143,7 @@ Elliptic Curve signature • **r**: *string* -*Defined in [types/src/index.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L68)* +*Defined in [types/src/index.ts:62](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L62)* ___ @@ -2223,7 +2151,7 @@ ___ • **s**: *string* -*Defined in [types/src/index.ts:69](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L69)* +*Defined in [types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L63)* ___ @@ -2231,7 +2159,7 @@ ___ • **v**: *number* -*Defined in [types/src/index.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L67)* +*Defined in [types/src/index.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L61)*
@@ -2240,19 +2168,27 @@ ___ ## Properties +### chainId + +• **chainId**: *number* + +*Defined in [types/src/index.ts:802](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L802)* + +___ + ### `Optional` name • **name**? : *undefined | string* -*Defined in [types/src/index.ts:791](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L791)* +*Defined in [types/src/index.ts:800](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L800)* ___ -### verifyingContractAddress +### verifyingContract -• **verifyingContractAddress**: *string* +• **verifyingContract**: *string* -*Defined in [types/src/index.ts:793](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L793)* +*Defined in [types/src/index.ts:803](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L803)* ___ @@ -2260,7 +2196,7 @@ ___ • **version**? : *undefined | string* -*Defined in [types/src/index.ts:792](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L792)* +*Defined in [types/src/index.ts:801](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L801)*
@@ -2278,7 +2214,7 @@ ___ • **name**: *string* -*Defined in [types/src/index.ts:711](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L711)* +*Defined in [types/src/index.ts:720](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L720)* ___ @@ -2286,7 +2222,7 @@ ___ • **type**: *string* -*Defined in [types/src/index.ts:712](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L712)* +*Defined in [types/src/index.ts:721](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L721)*
@@ -2299,7 +2235,7 @@ ___ • **domain**: *[EIP712Object](#class-eip712object)* -*Defined in [types/src/index.ts:727](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L727)* +*Defined in [types/src/index.ts:736](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L736)* ___ @@ -2307,7 +2243,7 @@ ___ • **message**: *[EIP712Object](#class-eip712object)* -*Defined in [types/src/index.ts:728](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L728)* +*Defined in [types/src/index.ts:737](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L737)* ___ @@ -2315,7 +2251,7 @@ ___ • **primaryType**: *string* -*Defined in [types/src/index.ts:729](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L729)* +*Defined in [types/src/index.ts:738](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L738)* ___ @@ -2323,7 +2259,7 @@ ___ • **types**: *[EIP712Types](#class-eip712types)* -*Defined in [types/src/index.ts:726](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L726)* +*Defined in [types/src/index.ts:735](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L735)*
@@ -2341,7 +2277,7 @@ ___ • **name**: *string* -*Defined in [types/src/index.ts:665](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L665)* +*Defined in [types/src/index.ts:674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L674)* ___ @@ -2349,7 +2285,7 @@ ___ • **typeDocType**: *[TypeDocTypes](#enumeration-typedoctypes)* -*Defined in [types/src/index.ts:666](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L666)* +*Defined in [types/src/index.ts:675](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L675)*
@@ -2362,7 +2298,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:187](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L187)* +*Defined in [types/src/index.ts:183](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L183)* ___ @@ -2370,7 +2306,7 @@ ___ • **callbackData**: *string* -*Defined in [types/src/index.ts:191](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L191)* +*Defined in [types/src/index.ts:187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L187)* ___ @@ -2378,7 +2314,7 @@ ___ • **tokenAddress**: *string* -*Defined in [types/src/index.ts:188](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L188)* +*Defined in [types/src/index.ts:184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L184)* ___ @@ -2386,7 +2322,7 @@ ___ • **tokenIds**: *`BigNumber`[]* -*Defined in [types/src/index.ts:189](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L189)* +*Defined in [types/src/index.ts:185](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L185)* ___ @@ -2394,7 +2330,7 @@ ___ • **tokenValues**: *`BigNumber`[]* -*Defined in [types/src/index.ts:190](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L190)* +*Defined in [types/src/index.ts:186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L186)*
@@ -2409,7 +2345,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:176](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L176)* +*Defined in [types/src/index.ts:172](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L172)* ___ @@ -2417,7 +2353,7 @@ ___ • **tokenAddress**: *string* -*Defined in [types/src/index.ts:177](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L177)* +*Defined in [types/src/index.ts:173](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L173)*
@@ -2430,7 +2366,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L181)* +*Defined in [types/src/index.ts:177](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L177)* ___ @@ -2438,7 +2374,7 @@ ___ • **tokenAddress**: *string* -*Defined in [types/src/index.ts:182](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L182)* +*Defined in [types/src/index.ts:178](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L178)* ___ @@ -2446,7 +2382,7 @@ ___ • **tokenId**: *`BigNumber`* -*Defined in [types/src/index.ts:183](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L183)* +*Defined in [types/src/index.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L179)*
@@ -2462,6 +2398,10 @@ ___ + + + + # Interface: MultiAssetData @@ -2471,7 +2411,7 @@ ___ • **amounts**: *`BigNumber`[]* -*Defined in [types/src/index.ts:212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L212)* +*Defined in [types/src/index.ts:208](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L208)* ___ @@ -2479,7 +2419,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:211](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L211)* +*Defined in [types/src/index.ts:207](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L207)* ___ @@ -2487,7 +2427,7 @@ ___ • **nestedAssetData**: *string[]* -*Defined in [types/src/index.ts:213](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L213)* +*Defined in [types/src/index.ts:209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L209)*
@@ -2500,7 +2440,7 @@ ___ • **amounts**: *`BigNumber`[]* -*Defined in [types/src/index.ts:218](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L218)* +*Defined in [types/src/index.ts:214](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L214)* ___ @@ -2508,7 +2448,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L217)* +*Defined in [types/src/index.ts:213](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L213)* ___ @@ -2516,7 +2456,7 @@ ___ • **nestedAssetData**: *[SingleAssetData](#singleassetdata)[]* -*Defined in [types/src/index.ts:219](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L219)* +*Defined in [types/src/index.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L215)*
@@ -2536,11 +2476,19 @@ ___ ## Properties +### chainId + +• **chainId**: *number* + +*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L14)* + +___ + ### exchangeAddress • **exchangeAddress**: *string* -*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L20)* +*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L15)* ___ @@ -2548,7 +2496,7 @@ ___ • **expirationTimeSeconds**: *`BigNumber`* -*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L22)* +*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L24)* ___ @@ -2556,7 +2504,7 @@ ___ • **feeRecipientAddress**: *string* -*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L21)* +*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L18)* ___ @@ -2564,7 +2512,7 @@ ___ • **makerAddress**: *string* -*Defined in [types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L11)* +*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L16)* ___ @@ -2572,7 +2520,7 @@ ___ • **makerAssetAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L15)* +*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L20)* ___ @@ -2580,7 +2528,7 @@ ___ • **makerAssetData**: *string* -*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L17)* +*Defined in [types/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L26)* ___ @@ -2588,7 +2536,15 @@ ___ • **makerFee**: *`BigNumber`* -*Defined in [types/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L13)* +*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L22)* + +___ + +### makerFeeAssetData + +• **makerFeeAssetData**: *string* + +*Defined in [types/src/index.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L28)* ___ @@ -2596,7 +2552,7 @@ ___ • **salt**: *`BigNumber`* -*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L19)* +*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L25)* ___ @@ -2604,7 +2560,7 @@ ___ • **senderAddress**: *string* -*Defined in [types/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L10)* +*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L19)* ___ @@ -2612,7 +2568,7 @@ ___ • **takerAddress**: *string* -*Defined in [types/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L12)* +*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L17)* ___ @@ -2620,7 +2576,7 @@ ___ • **takerAssetAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L16)* +*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L21)* ___ @@ -2628,7 +2584,7 @@ ___ • **takerAssetData**: *string* -*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L18)* +*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L27)* ___ @@ -2636,7 +2592,15 @@ ___ • **takerFee**: *`BigNumber`* -*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L14)* +*Defined in [types/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L23)* + +___ + +### takerFeeAssetData + +• **takerFeeAssetData**: *string* + +*Defined in [types/src/index.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L29)*
@@ -2648,6 +2612,8 @@ ___ + + # Interface: OrderRelevantState @@ -2657,7 +2623,7 @@ ___ • **filledTakerAssetAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L128)* +*Defined in [types/src/index.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L122)* ___ @@ -2665,7 +2631,7 @@ ___ • **makerBalance**: *`BigNumber`* -*Defined in [types/src/index.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L122)* +*Defined in [types/src/index.ts:116](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L116)* ___ @@ -2673,7 +2639,7 @@ ___ • **makerFeeBalance**: *`BigNumber`* -*Defined in [types/src/index.ts:126](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L126)* +*Defined in [types/src/index.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L120)* ___ @@ -2681,7 +2647,7 @@ ___ • **makerFeeProxyAllowance**: *`BigNumber`* -*Defined in [types/src/index.ts:127](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L127)* +*Defined in [types/src/index.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L121)* ___ @@ -2689,7 +2655,7 @@ ___ • **makerIndividualBalances**: *[ObjectMap](#class-objectmap)‹*`BigNumber`*›* -*Defined in [types/src/index.ts:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L123)* +*Defined in [types/src/index.ts:117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L117)* ___ @@ -2697,7 +2663,7 @@ ___ • **makerIndividualProxyAllowances**: *[ObjectMap](#class-objectmap)‹*`BigNumber`*›* -*Defined in [types/src/index.ts:125](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L125)* +*Defined in [types/src/index.ts:119](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L119)* ___ @@ -2705,7 +2671,7 @@ ___ • **makerProxyAllowance**: *`BigNumber`* -*Defined in [types/src/index.ts:124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L124)* +*Defined in [types/src/index.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L118)* ___ @@ -2713,7 +2679,7 @@ ___ • **remainingFillableMakerAssetAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L129)* +*Defined in [types/src/index.ts:123](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L123)* ___ @@ -2721,7 +2687,7 @@ ___ • **remainingFillableTakerAssetAmount**: *`BigNumber`* -*Defined in [types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L130)* +*Defined in [types/src/index.ts:124](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L124)*
@@ -2738,7 +2704,7 @@ ___ • **error**: *[ExchangeContractErrs](#enumeration-exchangecontracterrs)* -*Defined in [types/src/index.ts:143](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L143)* +*Defined in [types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L137)* ___ @@ -2746,7 +2712,7 @@ ___ • **isValid**: *false* -*Defined in [types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L141)* +*Defined in [types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L135)* ___ @@ -2754,7 +2720,7 @@ ___ • **orderHash**: *string* -*Defined in [types/src/index.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L142)* +*Defined in [types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L136)* ___ @@ -2762,7 +2728,7 @@ ___ • **transactionHash**? : *undefined | string* -*Defined in [types/src/index.ts:144](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L144)* +*Defined in [types/src/index.ts:138](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L138)*
@@ -2775,7 +2741,7 @@ ___ • **isValid**: *true* -*Defined in [types/src/index.ts:134](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L134)* +*Defined in [types/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L128)* ___ @@ -2783,7 +2749,7 @@ ___ • **orderHash**: *string* -*Defined in [types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L135)* +*Defined in [types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L129)* ___ @@ -2791,7 +2757,7 @@ ___ • **orderRelevantState**: *[OrderRelevantState](#class-orderrelevantstate)* -*Defined in [types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L136)* +*Defined in [types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L130)* ___ @@ -2799,7 +2765,7 @@ ___ • **transactionHash**? : *undefined | string* -*Defined in [types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L137)* +*Defined in [types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L131)*
@@ -2817,20 +2783,28 @@ ___ - - # Interface: SignedOrder ## Properties +### chainId + +• **chainId**: *number* + +*Inherited from [Order](#interface-order).[chainId](#chainid)* + +*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L14)* + +___ + ### exchangeAddress • **exchangeAddress**: *string* *Inherited from [Order](#interface-order).[exchangeAddress](#exchangeaddress)* -*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L20)* +*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L15)* ___ @@ -2840,7 +2814,7 @@ ___ *Inherited from [Order](#interface-order).[expirationTimeSeconds](#expirationtimeseconds)* -*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L22)* +*Defined in [types/src/index.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L24)* ___ @@ -2850,7 +2824,7 @@ ___ *Inherited from [Order](#interface-order).[feeRecipientAddress](#feerecipientaddress)* -*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L21)* +*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L18)* ___ @@ -2860,7 +2834,7 @@ ___ *Inherited from [Order](#interface-order).[makerAddress](#makeraddress)* -*Defined in [types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L11)* +*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L16)* ___ @@ -2870,7 +2844,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetAmount](#makerassetamount)* -*Defined in [types/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L15)* +*Defined in [types/src/index.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L20)* ___ @@ -2880,7 +2854,7 @@ ___ *Inherited from [Order](#interface-order).[makerAssetData](#makerassetdata)* -*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L17)* +*Defined in [types/src/index.ts:26](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L26)* ___ @@ -2890,7 +2864,17 @@ ___ *Inherited from [Order](#interface-order).[makerFee](#makerfee)* -*Defined in [types/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L13)* +*Defined in [types/src/index.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L22)* + +___ + +### makerFeeAssetData + +• **makerFeeAssetData**: *string* + +*Inherited from [Order](#interface-order).[makerFeeAssetData](#makerfeeassetdata)* + +*Defined in [types/src/index.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L28)* ___ @@ -2900,7 +2884,7 @@ ___ *Inherited from [Order](#interface-order).[salt](#salt)* -*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L19)* +*Defined in [types/src/index.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L25)* ___ @@ -2910,7 +2894,7 @@ ___ *Inherited from [Order](#interface-order).[senderAddress](#senderaddress)* -*Defined in [types/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L10)* +*Defined in [types/src/index.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L19)* ___ @@ -2918,7 +2902,7 @@ ___ • **signature**: *string* -*Defined in [types/src/index.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L41)* +*Defined in [types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L33)* ___ @@ -2928,7 +2912,7 @@ ___ *Inherited from [Order](#interface-order).[takerAddress](#takeraddress)* -*Defined in [types/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L12)* +*Defined in [types/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L17)* ___ @@ -2938,7 +2922,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetAmount](#takerassetamount)* -*Defined in [types/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L16)* +*Defined in [types/src/index.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L21)* ___ @@ -2948,7 +2932,7 @@ ___ *Inherited from [Order](#interface-order).[takerAssetData](#takerassetdata)* -*Defined in [types/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L18)* +*Defined in [types/src/index.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L27)* ___ @@ -2958,7 +2942,17 @@ ___ *Inherited from [Order](#interface-order).[takerFee](#takerfee)* -*Defined in [types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L14)* +*Defined in [types/src/index.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L23)* + +___ + +### takerFeeAssetData + +• **takerFeeAssetData**: *string* + +*Inherited from [Order](#interface-order).[takerFeeAssetData](#takerfeeassetdata)* + +*Defined in [types/src/index.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L29)*
@@ -2973,7 +2967,37 @@ ___ *Inherited from [ZeroExTransaction](#interface-zeroextransaction).[data](#data)* -*Defined in [types/src/index.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L56)* +*Defined in [types/src/index.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L49)* + +___ + +### domain + +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[domain](#domain)* + +*Defined in [types/src/index.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* + +___ + +### expirationTimeSeconds + +• **expirationTimeSeconds**: *`BigNumber`* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[expirationTimeSeconds](#expirationtimeseconds)* + +*Defined in [types/src/index.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* + +___ + +### gasPrice + +• **gasPrice**: *`BigNumber`* + +*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[gasPrice](#gasprice)* + +*Defined in [types/src/index.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L47)* ___ @@ -2983,7 +3007,7 @@ ___ *Inherited from [ZeroExTransaction](#interface-zeroextransaction).[salt](#salt)* -*Defined in [types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L54)* +*Defined in [types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L45)* ___ @@ -2991,7 +3015,7 @@ ___ • **signature**: *string* -*Defined in [types/src/index.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L60)* +*Defined in [types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L54)* ___ @@ -3001,17 +3025,7 @@ ___ *Inherited from [ZeroExTransaction](#interface-zeroextransaction).[signerAddress](#signeraddress)* -*Defined in [types/src/index.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L55)* - -___ - -### verifyingContractAddress - -• **verifyingContractAddress**: *string* - -*Inherited from [ZeroExTransaction](#interface-zeroextransaction).[verifyingContractAddress](#verifyingcontractaddress)* - -*Defined in [types/src/index.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L53)* +*Defined in [types/src/index.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L48)*
@@ -3036,7 +3050,7 @@ ___ • **assetProxyId**: *string* -*Defined in [types/src/index.ts:195](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L195)* +*Defined in [types/src/index.ts:191](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L191)* ___ @@ -3044,7 +3058,7 @@ ___ • **callResultHash**: *string* -*Defined in [types/src/index.ts:198](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L198)* +*Defined in [types/src/index.ts:194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L194)* ___ @@ -3052,7 +3066,7 @@ ___ • **callTarget**: *string* -*Defined in [types/src/index.ts:196](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L196)* +*Defined in [types/src/index.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L192)* ___ @@ -3060,7 +3074,7 @@ ___ • **staticCallData**: *string* -*Defined in [types/src/index.ts:197](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L197)* +*Defined in [types/src/index.ts:193](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L193)*
@@ -3101,7 +3115,7 @@ Validator signature components • **signature**: *string* -*Defined in [types/src/index.ts:77](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L77)* +*Defined in [types/src/index.ts:71](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L71)* ___ @@ -3109,7 +3123,7 @@ ___ • **validatorAddress**: *string* -*Defined in [types/src/index.ts:76](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L76)* +*Defined in [types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L70)*
@@ -3124,85 +3138,47 @@ ZeroExTransaction for use with 0x Exchange executeTransaction • **data**: *string* -*Defined in [types/src/index.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L56)* +*Defined in [types/src/index.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L49)* ___ -### salt +### domain -• **salt**: *`BigNumber`* +• **domain**: *[EIP712DomainWithDefaultSchema](#class-eip712domainwithdefaultschema)* -*Defined in [types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L54)* +*Defined in [types/src/index.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L50)* ___ -### signerAddress +### expirationTimeSeconds -• **signerAddress**: *string* +• **expirationTimeSeconds**: *`BigNumber`* -*Defined in [types/src/index.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L55)* +*Defined in [types/src/index.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L46)* ___ -### verifyingContractAddress - -• **verifyingContractAddress**: *string* - -*Defined in [types/src/index.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L53)* - -
+### gasPrice +• **gasPrice**: *`BigNumber`* - -
- - - - -## Functions - -### getContractAddressesForNetworkOrThrow - -▸ **getContractAddressesForNetworkOrThrow**(`networkId`: [NetworkId](#enumeration-networkid)): *[ContractAddresses](#interface-contractaddresses)* - -*Defined in [contract-addresses/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L128)* - -Used to get addresses of contracts that have been deployed to either the -Ethereum mainnet or a supported testnet. Throws if there are no known -contracts deployed on the corresponding network. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`networkId` | [NetworkId](#enumeration-networkid) | The desired networkId. | - -**Returns:** *[ContractAddresses](#interface-contractaddresses)* - -The set of addresses for contracts which have been deployed on the -given networkId. +*Defined in [types/src/index.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L47)* ___ -### getNetworkIdByExchangeAddressOrThrow - -▸ **getNetworkIdByExchangeAddressOrThrow**(`exchangeAddress`: string): *[NetworkId](#enumeration-networkid)* +### salt -*Defined in [contract-addresses/src/index.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L142)* +• **salt**: *`BigNumber`* -Uses a given exchange address to look up the network id that the exchange contract is deployed -on. Only works for Ethereum mainnet or a supported testnet. Throws if the exchange address -does not correspond to a known deployed exchange contract. +*Defined in [types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L45)* -**Parameters:** +___ -Name | Type | Description | ------- | ------ | ------ | -`exchangeAddress` | string | The exchange address of concern | +### signerAddress -**Returns:** *[NetworkId](#enumeration-networkid)* +• **signerAddress**: *string* -The network ID on which the exchange contract is deployed +*Defined in [types/src/index.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L48)*
@@ -3221,11 +3197,13 @@ The network ID on which the exchange contract is deployed + + ### EIP1193Event Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L70)* +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md @@ -3242,7 +3220,7 @@ ___ Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L3)* +*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: @@ -3271,7 +3249,7 @@ ___ Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L9)* +*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. @@ -3286,7 +3264,7 @@ ___ Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L11)* +*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)*
@@ -3315,13 +3293,13 @@ ___ #### ▪ **assetDataUtils**: *object* -*Defined in [order-utils/src/asset_data_utils.ts:23](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L23)* +*Defined in [order-utils/src/asset_data_utils.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L23)* #### assertIsERC1155AssetData ▸ **assertIsERC1155AssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:397](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L397)* +*Defined in [order-utils/src/asset_data_utils.ts:397](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L397)* Throws if the assetData is not ERC1155. @@ -3337,7 +3315,7 @@ Name | Type | Description | ▸ **assertIsERC20AssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L353)* +*Defined in [order-utils/src/asset_data_utils.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L353)* Throws if the length or assetProxyId are invalid for the ERC20Proxy. @@ -3353,7 +3331,7 @@ Name | Type | Description | ▸ **assertIsERC721AssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:375](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L375)* +*Defined in [order-utils/src/asset_data_utils.ts:375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L375)* Throws if the length or assetProxyId are invalid for the ERC721Proxy. @@ -3369,7 +3347,7 @@ Name | Type | Description | ▸ **assertIsMultiAssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:419](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L419)* +*Defined in [order-utils/src/asset_data_utils.ts:419](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L419)* Throws if the length or assetProxyId are invalid for the MultiAssetProxy. @@ -3385,7 +3363,7 @@ Name | Type | Description | ▸ **assertIsStaticCallAssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:441](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L441)* +*Defined in [order-utils/src/asset_data_utils.ts:441](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L441)* Throws if the assetData is not StaticCallData. @@ -3401,7 +3379,7 @@ Name | Type | Description | ▸ **assertWordAlignedAssetData**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:463](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L463)* +*Defined in [order-utils/src/asset_data_utils.ts:463](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L463)* Throws if the assetData is not padded to 32 bytes. @@ -3417,7 +3395,7 @@ Name | Type | Description | ▸ **decodeAssetDataOrThrow**(`assetData`: string): *[SingleAssetData](#singleassetdata) | `MultiAssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:502](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L502)* +*Defined in [order-utils/src/asset_data_utils.ts:502](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L502)* Decode any assetData into its corresponding assetData object @@ -3435,7 +3413,7 @@ Either a ERC20, ERC721, ERC1155, or MultiAsset assetData object ▸ **decodeAssetProxyId**(`assetData`: string): *`AssetProxyId`* -*Defined in [order-utils/src/asset_data_utils.ts:294](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L294)* +*Defined in [order-utils/src/asset_data_utils.ts:294](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L294)* Decode and return the assetProxyId from the assetData @@ -3453,7 +3431,7 @@ The assetProxyId ▸ **decodeDutchAuctionData**(`dutchAuctionData`: string): *`DutchAuctionData`* -*Defined in [order-utils/src/asset_data_utils.ts:263](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L263)* +*Defined in [order-utils/src/asset_data_utils.ts:263](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L263)* Dutch auction details are encoded with the asset data for a 0x order. This function decodes a hex encoded assetData string, containing information both about the asset being traded and the @@ -3473,7 +3451,7 @@ An object containing the auction asset, auction begin time and auction begin amo ▸ **decodeERC1155AssetData**(`assetData`: string): *`ERC1155AssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L107)* +*Defined in [order-utils/src/asset_data_utils.ts:107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L107)* Decodes an ERC1155 assetData hex string into its corresponding ERC1155 components. @@ -3491,7 +3469,7 @@ An object containing the decoded tokenAddress, tokenIds, tokenValues, callbackDa ▸ **decodeERC20AssetData**(`assetData`: string): *`ERC20AssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L41)* +*Defined in [order-utils/src/asset_data_utils.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L41)* Decodes an ERC20 assetData hex string into its corresponding ERC20 tokenAddress & assetProxyId @@ -3509,7 +3487,7 @@ An object containing the decoded tokenAddress & assetProxyId ▸ **decodeERC721AssetData**(`assetData`: string): *`ERC721AssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L70)* +*Defined in [order-utils/src/asset_data_utils.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L70)* Decodes an ERC721 assetData hex string into its corresponding ERC721 tokenAddress, tokenId & assetProxyId @@ -3527,7 +3505,7 @@ An object containing the decoded tokenAddress, tokenId & assetProxyId ▸ **decodeMultiAssetData**(`assetData`: string): *`MultiAssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:149](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L149)* +*Defined in [order-utils/src/asset_data_utils.ts:149](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L149)* Decodes a MultiAsset assetData hex string into its corresponding amounts and nestedAssetData @@ -3545,7 +3523,7 @@ An object containing the decoded amounts and nestedAssetData ▸ **decodeMultiAssetDataRecursively**(`assetData`: string): *`MultiAssetDataWithRecursiveDecoding`* -*Defined in [order-utils/src/asset_data_utils.ts:175](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L175)* +*Defined in [order-utils/src/asset_data_utils.ts:175](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L175)* Decodes a MultiAsset assetData hex string into its corresponding amounts and decoded nestedAssetData elements (all nested elements are flattened) @@ -3563,7 +3541,7 @@ An object containing the decoded amounts and nestedAssetData ▸ **decodeStaticCallAssetData**(`assetData`: string): *`StaticCallAssetData`* -*Defined in [order-utils/src/asset_data_utils.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L225)* +*Defined in [order-utils/src/asset_data_utils.ts:225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L225)* Decoded StaticCall assetData into its corresponding callTarget, staticCallData, and expected callResultHash @@ -3581,7 +3559,7 @@ An object containing the decoded callTarget, staticCallData, and expected callRe ▸ **encodeDutchAuctionAssetData**(`assetData`: string, `beginTimeSeconds`: `BigNumber`, `beginAmount`: `BigNumber`): *string* -*Defined in [order-utils/src/asset_data_utils.ts:245](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L245)* +*Defined in [order-utils/src/asset_data_utils.ts:245](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L245)* Dutch auction details are encoded with the asset data for a 0x order. This function produces a hex encoded assetData string, containing information both about the asset being traded and the @@ -3603,7 +3581,7 @@ The hex encoded assetData string. ▸ **encodeERC1155AssetData**(`tokenAddress`: string, `tokenIds`: `BigNumber`[], `tokenValues`: `BigNumber`[], `callbackData`: string): *string* -*Defined in [order-utils/src/asset_data_utils.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L91)* +*Defined in [order-utils/src/asset_data_utils.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L91)* Encodes a set of ERC1155 assets into an assetData string, usable in the makerAssetData or takerAssetData fields of a 0x order. @@ -3625,7 +3603,7 @@ The hex encoded assetData string ▸ **encodeERC20AssetData**(`tokenAddress`: string): *string* -*Defined in [order-utils/src/asset_data_utils.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L30)* +*Defined in [order-utils/src/asset_data_utils.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L30)* Encodes an ERC20 token address into a hex encoded assetData string, usable in the makerAssetData or takerAssetData fields in a 0x order. @@ -3644,7 +3622,7 @@ The hex encoded assetData string ▸ **encodeERC721AssetData**(`tokenAddress`: string, `tokenId`: `BigNumber`): *string* -*Defined in [order-utils/src/asset_data_utils.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L59)* +*Defined in [order-utils/src/asset_data_utils.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L59)* Encodes an ERC721 token address into a hex encoded assetData string, usable in the makerAssetData or takerAssetData fields in a 0x order. @@ -3664,7 +3642,7 @@ The hex encoded assetData string ▸ **encodeMultiAssetData**(`amounts`: `BigNumber`[], `nestedAssetData`: string[]): *string* -*Defined in [order-utils/src/asset_data_utils.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L130)* +*Defined in [order-utils/src/asset_data_utils.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L130)* Encodes assetData for multiple AssetProxies into a single hex encoded assetData string, usable in the makerAssetData or takerAssetData fields in a 0x order. @@ -3684,7 +3662,7 @@ The hex encoded assetData string ▸ **encodeStaticCallAssetData**(`callTarget`: string, `staticCallData`: string, `callResultHash`: string): *string* -*Defined in [order-utils/src/asset_data_utils.ts:214](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L214)* +*Defined in [order-utils/src/asset_data_utils.ts:214](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L214)* Encodes StaticCallProxy data into an assetData hex string @@ -3704,7 +3682,7 @@ The hex encoded assetData string ▸ **isERC1155AssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:332](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L332)* +*Defined in [order-utils/src/asset_data_utils.ts:332](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L332)* Checks if the decoded asset data is valid ERC1155 data @@ -3720,7 +3698,7 @@ Name | Type | Description | ▸ **isERC20AssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:318](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L318)* +*Defined in [order-utils/src/asset_data_utils.ts:318](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L318)* Checks if the decoded asset data is valid ERC20 data @@ -3736,7 +3714,7 @@ Name | Type | Description | ▸ **isERC721AssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L325)* +*Defined in [order-utils/src/asset_data_utils.ts:325](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L325)* Checks if the decoded asset data is valid ERC721 data @@ -3752,7 +3730,7 @@ Name | Type | Description | ▸ **isMultiAssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:339](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L339)* +*Defined in [order-utils/src/asset_data_utils.ts:339](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L339)* Checks if the decoded asset data is valid MultiAsset data @@ -3768,7 +3746,7 @@ Name | Type | Description | ▸ **isStaticCallAssetData**(`decodedAssetData`: [SingleAssetData](#singleassetdata) | `MultiAssetData`): *boolean* -*Defined in [order-utils/src/asset_data_utils.ts:346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L346)* +*Defined in [order-utils/src/asset_data_utils.ts:346](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L346)* Checks if the decoded asset data is valid StaticCall data @@ -3784,7 +3762,7 @@ Name | Type | Description | ▸ **validateAssetDataOrThrow**(`assetData`: string): *void* -*Defined in [order-utils/src/asset_data_utils.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/asset_data_utils.ts#L475)* +*Defined in [order-utils/src/asset_data_utils.ts:475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/asset_data_utils.ts#L475)* Throws if the length or assetProxyId are invalid for the corresponding AssetProxy. @@ -3807,13 +3785,13 @@ Name | Type | Description | #### ▪ **eip712Utils**: *object* -*Defined in [order-utils/src/eip712_utils.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/eip712_utils.ts#L18)* +*Defined in [order-utils/src/eip712_utils.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/eip712_utils.ts#L18)* #### createCoordinatorApprovalTypedData -▸ **createCoordinatorApprovalTypedData**(`transaction`: `SignedZeroExTransaction`, `verifyingContractAddress`: string, `txOrigin`: string, `approvalExpirationTimeSeconds`: `BigNumber`): *`EIP712TypedData`* +▸ **createCoordinatorApprovalTypedData**(`transaction`: `SignedZeroExTransaction`, `verifyingContract`: string, `txOrigin`: string, `approvalExpirationTimeSeconds`: `BigNumber`): *`EIP712TypedData`* -*Defined in [order-utils/src/eip712_utils.ts:103](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/eip712_utils.ts#L103)* +*Defined in [order-utils/src/eip712_utils.ts:105](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/eip712_utils.ts#L105)* Creates an Coordiantor typedData EIP712TypedData object for use with the Coordinator extension contract @@ -3822,7 +3800,7 @@ Creates an Coordiantor typedData EIP712TypedData object for use with the Coordin Name | Type | Description | ------ | ------ | ------ | `transaction` | `SignedZeroExTransaction` | A 0x transaction | -`verifyingContractAddress` | string | The coordinator extension contract address that will be verifying the typedData | +`verifyingContract` | string | The coordinator extension contract address that will be verifying the typedData | `txOrigin` | string | The desired `tx.origin` that should be able to submit an Ethereum txn involving this 0x transaction | `approvalExpirationTimeSeconds` | `BigNumber` | The approvals expiration time | @@ -3834,7 +3812,7 @@ A typed data object ▸ **createOrderTypedData**(`order`: `Order`): *`EIP712TypedData`* -*Defined in [order-utils/src/eip712_utils.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/eip712_utils.ts#L56)* +*Defined in [order-utils/src/eip712_utils.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/eip712_utils.ts#L57)* Creates an Order EIP712TypedData object for use with signTypedData. @@ -3852,7 +3830,7 @@ A typed data object ▸ **createTypedData**(`primaryType`: string, `types`: `EIP712Types`, `message`: `EIP712Object`, `domain`: `EIP712DomainWithDefaultSchema`): *`EIP712TypedData`* -*Defined in [order-utils/src/eip712_utils.ts:27](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/eip712_utils.ts#L27)* +*Defined in [order-utils/src/eip712_utils.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/eip712_utils.ts#L27)* Creates a EIP712TypedData object specific to the 0x protocol for use with signTypedData. @@ -3873,7 +3851,7 @@ A typed data object ▸ **createZeroExTransactionTypedData**(`zeroExTransaction`: `ZeroExTransaction`): *`EIP712TypedData`* -*Defined in [order-utils/src/eip712_utils.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/eip712_utils.ts#L78)* +*Defined in [order-utils/src/eip712_utils.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/eip712_utils.ts#L82)* Creates an ExecuteTransaction EIP712TypedData object for use with signTypedData and 0x Exchange executeTransaction. @@ -3896,6 +3874,18 @@ A typed data object +
+ + + +
+ + + +
+ + + ## Object literals @@ -3903,13 +3893,13 @@ A typed data object #### ▪ **marketUtils**: *object* -*Defined in [order-utils/src/market_utils.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/market_utils.ts#L17)* +*Defined in [order-utils/src/market_utils.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/market_utils.ts#L17)* #### findFeeOrdersThatCoverFeesForTargetOrders ▸ **findFeeOrdersThatCoverFeesForTargetOrders**<**T**>(`orders`: `T`[], `feeOrders`: `T`[], `opts?`: [FindFeeOrdersThatCoverFeesForTargetOrdersOpts](#interface-findfeeordersthatcoverfeesfortargetordersopts)): *[FeeOrdersAndRemainingFeeAmount](#interface-feeordersandremainingfeeamount)‹*`T`*›* -*Defined in [order-utils/src/market_utils.ts:64](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/market_utils.ts#L64)* +*Defined in [order-utils/src/market_utils.ts:64](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/market_utils.ts#L64)* Takes an array of orders and an array of feeOrders. Returns a subset of the feeOrders that has enough ZRX in order to fill the takerFees required by orders plus a slippageBufferAmount. @@ -3936,7 +3926,7 @@ Resulting orders and remaining fee amount that could not be covered by the input ▸ **findOrdersThatCoverMakerAssetFillAmount**<**T**>(`orders`: `T`[], `makerAssetFillAmount`: `BigNumber`, `opts?`: [FindOrdersThatCoverMakerAssetFillAmountOpts](#interface-findordersthatcovermakerassetfillamountopts)): *[OrdersAndRemainingMakerFillAmount](#interface-ordersandremainingmakerfillamount)‹*`T`*›* -*Defined in [order-utils/src/market_utils.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/market_utils.ts#L40)* +*Defined in [order-utils/src/market_utils.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/market_utils.ts#L40)* Takes an array of orders and returns a subset of those orders that has enough makerAssetAmount in order to fill the input makerAssetFillAmount plus slippageBufferAmount. Iterates from first order to last order. @@ -3962,7 +3952,7 @@ Resulting orders and remaining fill amount that could not be covered by the inpu ▸ **findOrdersThatCoverTakerAssetFillAmount**<**T**>(`orders`: `T`[], `takerAssetFillAmount`: `BigNumber`, `opts?`: [FindOrdersThatCoverTakerAssetFillAmountOpts](#interface-findordersthatcovertakerassetfillamountopts)): *[OrdersAndRemainingTakerFillAmount](#interface-ordersandremainingtakerfillamount)‹*`T`*›* -*Defined in [order-utils/src/market_utils.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/market_utils.ts#L18)* +*Defined in [order-utils/src/market_utils.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/market_utils.ts#L18)* **Type parameters:** @@ -3989,13 +3979,13 @@ Name | Type | #### ▪ **orderCalculationUtils**: *object* -*Defined in [order-utils/src/order_calculation_utils.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L6)* +*Defined in [order-utils/src/order_calculation_utils.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L6)* #### getMakerFeeAmount ▸ **getMakerFeeAmount**(`order`: `Order`, `makerFillAmount`: `BigNumber`): *`BigNumber`* -*Defined in [order-utils/src/order_calculation_utils.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L75)* +*Defined in [order-utils/src/order_calculation_utils.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L75)* Given an amount of maker asset, calculate the fee amount required for the maker @@ -4012,7 +4002,7 @@ Name | Type | Description | ▸ **getMakerFillAmount**(`order`: `Order`, `takerFillAmount`: `BigNumber`): *`BigNumber`* -*Defined in [order-utils/src/order_calculation_utils.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L36)* +*Defined in [order-utils/src/order_calculation_utils.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L36)* Given an amount of taker asset, calculate the the amount of maker asset @@ -4029,7 +4019,7 @@ Name | Type | Description | ▸ **getTakerFeeAmount**(`order`: `Order`, `takerFillAmount`: `BigNumber`): *`BigNumber`* -*Defined in [order-utils/src/order_calculation_utils.ts:62](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L62)* +*Defined in [order-utils/src/order_calculation_utils.ts:62](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L62)* Given an amount of taker asset, calculate the fee amount required for the taker @@ -4046,7 +4036,7 @@ Name | Type | Description | ▸ **getTakerFillAmount**(`order`: `Order`, `makerFillAmount`: `BigNumber`): *`BigNumber`* -*Defined in [order-utils/src/order_calculation_utils.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L49)* +*Defined in [order-utils/src/order_calculation_utils.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L49)* Given an amount of maker asset, calculate the equivalent amount in taker asset @@ -4063,7 +4053,7 @@ Name | Type | Description | ▸ **getTakerFillAmountForFeeOrder**(`order`: `Order`, `makerFillAmount`: `BigNumber`): *[`BigNumber`, `BigNumber`]* -*Defined in [order-utils/src/order_calculation_utils.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L89)* +*Defined in [order-utils/src/order_calculation_utils.ts:89](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L89)* Given a desired amount of ZRX from a fee order, calculate the amount of taker asset required to fill. Also calculate how much ZRX needs to be purchased in order to fill the desired amount plus the taker fee amount @@ -4081,7 +4071,7 @@ Name | Type | Description | ▸ **isOpenOrder**(`order`: `Order`): *boolean* -*Defined in [order-utils/src/order_calculation_utils.ts:28](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L28)* +*Defined in [order-utils/src/order_calculation_utils.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L28)* Determines if the order is open and fillable by any taker. @@ -4097,7 +4087,7 @@ Name | Type | Description | ▸ **isOrderExpired**(`order`: `Order`): *boolean* -*Defined in [order-utils/src/order_calculation_utils.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L11)* +*Defined in [order-utils/src/order_calculation_utils.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L11)* Determines if the order is expired given the current time @@ -4113,7 +4103,7 @@ Name | Type | Description | ▸ **willOrderExpire**(`order`: `Order`, `secondsFromNow`: number): *boolean* -*Defined in [order-utils/src/order_calculation_utils.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_calculation_utils.ts#L19)* +*Defined in [order-utils/src/order_calculation_utils.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_calculation_utils.ts#L19)* Calculates if the order will expire in the future. @@ -4137,13 +4127,13 @@ Name | Type | Description | #### ▪ **orderHashUtils**: *object* -*Defined in [order-utils/src/order_hash.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_hash.ts#L12)* +*Defined in [order-utils/src/order_hash.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_hash.ts#L12)* #### getOrderHashBuffer ▸ **getOrderHashBuffer**(`order`: `SignedOrder` | `Order`): *`Buffer`* -*Defined in [order-utils/src/order_hash.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_hash.ts#L55)* +*Defined in [order-utils/src/order_hash.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_hash.ts#L55)* Computes the orderHash for a supplied order @@ -4161,7 +4151,7 @@ A Buffer containing the resulting orderHash from hashing the supplied order ▸ **getOrderHashHex**(`order`: `SignedOrder` | `Order`): *string* -*Defined in [order-utils/src/order_hash.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_hash.ts#L33)* +*Defined in [order-utils/src/order_hash.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_hash.ts#L33)* Computes the orderHash for a supplied order. @@ -4179,7 +4169,7 @@ Hex encoded string orderHash from hashing the supplied order. ▸ **isValidOrderHash**(`orderHash`: string): *boolean* -*Defined in [order-utils/src/order_hash.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/order_hash.ts#L20)* +*Defined in [order-utils/src/order_hash.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/order_hash.ts#L20)* Checks if the supplied hex encoded order hash is valid. Note: Valid means it has the expected format, not that an order with the orderHash exists. @@ -4214,13 +4204,13 @@ Whether the supplied orderHash has the expected format. #### ▪ **orderParsingUtils**: *object* -*Defined in [order-utils/src/parsing_utils.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/parsing_utils.ts#L4)* +*Defined in [order-utils/src/parsing_utils.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/parsing_utils.ts#L4)* #### convertOrderStringFieldsToBigNumber ▸ **convertOrderStringFieldsToBigNumber**(`order`: any): *any* -*Defined in [order-utils/src/parsing_utils.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/parsing_utils.ts#L17)* +*Defined in [order-utils/src/parsing_utils.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/parsing_utils.ts#L17)* **Parameters:** @@ -4234,7 +4224,7 @@ Name | Type | ▸ **convertStringsFieldsToBigNumbers**(`obj`: any, `fields`: string[]): *any* -*Defined in [order-utils/src/parsing_utils.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/parsing_utils.ts#L5)* +*Defined in [order-utils/src/parsing_utils.ts:5](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/parsing_utils.ts#L5)* **Parameters:** @@ -4256,13 +4246,13 @@ Name | Type | #### ▪ **rateUtils**: *object* -*Defined in [order-utils/src/rate_utils.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/rate_utils.ts#L8)* +*Defined in [order-utils/src/rate_utils.ts:8](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/rate_utils.ts#L8)* #### getFeeAdjustedRateOfFeeOrder ▸ **getFeeAdjustedRateOfFeeOrder**(`feeOrder`: `Order`): *`BigNumber`* -*Defined in [order-utils/src/rate_utils.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/rate_utils.ts#L36)* +*Defined in [order-utils/src/rate_utils.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/rate_utils.ts#L36)* Takes a fee order (makerAssetData corresponds to ZRX and takerAssetData corresponds to WETH) and calculates the fee adjusted rate (WETH/ZRX) by dividing the takerAssetAmount by the makerAmount minus the takerFee @@ -4281,7 +4271,7 @@ The rate (WETH/ZRX) of the fee order adjusted for fees ▸ **getFeeAdjustedRateOfOrder**(`order`: `Order`, `feeRate`: `BigNumber`): *`BigNumber`* -*Defined in [order-utils/src/rate_utils.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/rate_utils.ts#L18)* +*Defined in [order-utils/src/rate_utils.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/rate_utils.ts#L18)* Takes an order and calculates the fee adjusted rate (takerAsset/makerAsset) by calculating how much takerAsset is required to cover the fees (feeRate * takerFee), adding the takerAssetAmount and dividing by makerAssetAmount @@ -4308,7 +4298,7 @@ The rate (takerAsset/makerAsset) of the order adjusted for fees ▸ **generatePseudoRandomSalt**(): *`BigNumber`* -*Defined in [order-utils/src/salt.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/salt.ts#L9)* +*Defined in [order-utils/src/salt.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/salt.ts#L9)* Generates a pseudo-random 256-bit salt. The salt can be included in a 0x order, ensuring that the order generates a unique orderHash @@ -4329,13 +4319,13 @@ A pseudo-random 256-bit number that can be used as a salt. #### ▪ **signatureUtils**: *object* -*Defined in [order-utils/src/signature_utils.ts:27](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L27)* +*Defined in [order-utils/src/signature_utils.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L27)* #### addSignedMessagePrefix ▸ **addSignedMessagePrefix**(`message`: string): *string* -*Defined in [order-utils/src/signature_utils.ts:500](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L500)* +*Defined in [order-utils/src/signature_utils.ts:500](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L500)* Adds the relevant prefix to the message being signed. @@ -4353,7 +4343,7 @@ Prefixed message ▸ **convertECSignatureToSignatureHex**(`ecSignature`: `ECSignature`): *string* -*Defined in [order-utils/src/signature_utils.ts:474](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L474)* +*Defined in [order-utils/src/signature_utils.ts:474](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L474)* Combines ECSignature with V,R,S and the EthSign signature type for use in 0x protocol @@ -4371,7 +4361,7 @@ Hex encoded string of signature (v,r,s) with Signature Type ▸ **convertToSignatureWithType**(`signature`: string, `signatureType`: `SignatureType`): *string* -*Defined in [order-utils/src/signature_utils.ts:490](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L490)* +*Defined in [order-utils/src/signature_utils.ts:490](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L490)* Combines the signature proof and the Signature Type. @@ -4390,7 +4380,7 @@ Hex encoded string of signature proof with Signature Type ▸ **ecSignHashAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `msgHash`: string, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:417](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L417)* +*Defined in [order-utils/src/signature_utils.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L417)* Signs a hash using `eth_sign` and returns its elliptic curve signature and signature type. @@ -4410,7 +4400,7 @@ A hex encoded string containing the Elliptic curve signature generated by signin ▸ **ecSignOrderAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `order`: `Order`, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:252](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L252)* +*Defined in [order-utils/src/signature_utils.ts:252](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L252)* Signs an order and returns a SignedOrder. First `eth_signTypedData` is requested then a fallback to `eth_sign` if not available on the supplied provider. @@ -4431,7 +4421,7 @@ A SignedOrder containing the order and Elliptic curve signature with Signature T ▸ **ecSignTransactionAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `transaction`: `ZeroExTransaction`, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:331](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L331)* +*Defined in [order-utils/src/signature_utils.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L331)* Signs a transaction and returns a SignedZeroExTransaction. First `eth_signTypedData` is requested then a fallback to `eth_sign` if not available on the supplied provider. @@ -4452,7 +4442,7 @@ A SignedTransaction containing the order and Elliptic curve signature with Signa ▸ **ecSignTypedDataOrderAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `order`: `Order`, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:287](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L287)* +*Defined in [order-utils/src/signature_utils.ts:287](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L287)* Signs an order using `eth_signTypedData` and returns a SignedOrder. @@ -4472,7 +4462,7 @@ A SignedOrder containing the order and Elliptic curve signature with Signature T ▸ **ecSignTypedDataTransactionAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `transaction`: `ZeroExTransaction`, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:374](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L374)* +*Defined in [order-utils/src/signature_utils.ts:374](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L374)* Signs a ZeroExTransaction using `eth_signTypedData` and returns a SignedZeroExTransaction. @@ -4492,7 +4482,7 @@ A SignedZeroExTransaction containing the ZeroExTransaction and Elliptic curve si ▸ **isValidECSignature**(`data`: string, `signature`: `ECSignature`, `signerAddress`: string): *boolean* -*Defined in [order-utils/src/signature_utils.ts:222](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L222)* +*Defined in [order-utils/src/signature_utils.ts:222](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L222)* Checks if the supplied elliptic curve signature corresponds to signing `data` with the private key corresponding to `signerAddress` @@ -4513,7 +4503,7 @@ Whether the ECSignature is valid. ▸ **isValidPresignedSignatureAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `data`: string, `signerAddress`: string, `exchangeAddress?`: undefined | string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L107)* +*Defined in [order-utils/src/signature_utils.ts:107](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L107)* Verifies that the provided presigned signature is valid according to the 0x Protocol smart contracts @@ -4534,7 +4524,7 @@ Whether the data was preSigned by the supplied signerAddress ▸ **isValidSignatureAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `data`: string, `signature`: string, `signerAddress`: string, `exchangeAddress?`: undefined | string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L38)* +*Defined in [order-utils/src/signature_utils.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L38)* Verifies that the provided signature is valid according to the 0x Protocol smart contracts @@ -4556,7 +4546,7 @@ Whether the signature is valid for the supplied signerAddress and data. ▸ **isValidValidatorSignatureAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `data`: string, `signature`: string, `signerAddress`: string, `exchangeAddress?`: undefined | string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L168)* +*Defined in [order-utils/src/signature_utils.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L168)* Verifies that the provided validator signature is valid according to the 0x Protocol smart contracts @@ -4578,7 +4568,7 @@ Whether the data was preSigned by the supplied signerAddress. ▸ **isValidWalletSignatureAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `data`: string, `signature`: string, `signerAddress`: string): *`Promise`* -*Defined in [order-utils/src/signature_utils.ts:139](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L139)* +*Defined in [order-utils/src/signature_utils.ts:139](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L139)* Verifies that the provided wallet signature is valid according to the 0x Protocol smart contracts @@ -4599,7 +4589,7 @@ Whether the data was preSigned by the supplied signerAddress. ▸ **parseECSignature**(`signature`: string): *`ECSignature`* -*Defined in [order-utils/src/signature_utils.ts:512](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L512)* +*Defined in [order-utils/src/signature_utils.ts:512](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L512)* Parse a 0x protocol hex-encoded signature string into its ECSignature components @@ -4617,7 +4607,7 @@ An ECSignature object with r,s,v parameters ▸ **parseValidatorSignature**(`signature`: string): *`ValidatorSignature`* -*Defined in [order-utils/src/signature_utils.ts:529](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/signature_utils.ts#L529)* +*Defined in [order-utils/src/signature_utils.ts:529](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/signature_utils.ts#L529)* Parse a hex-encoded Validator signature into validator address and signature components @@ -4642,13 +4632,13 @@ A ValidatorSignature with validatorAddress and signature parameters #### ▪ **sortingUtils**: *object* -*Defined in [order-utils/src/sorting_utils.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/sorting_utils.ts#L10)* +*Defined in [order-utils/src/sorting_utils.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/sorting_utils.ts#L10)* #### sortFeeOrdersByFeeAdjustedRate ▸ **sortFeeOrdersByFeeAdjustedRate**<**T**>(`feeOrders`: `T`[]): *`T`[]* -*Defined in [order-utils/src/sorting_utils.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/sorting_utils.ts#L35)* +*Defined in [order-utils/src/sorting_utils.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/sorting_utils.ts#L35)* Takes an array of fee orders (makerAssetData corresponds to ZRX and takerAssetData corresponds to WETH) and sorts them by rate in ascending order (best rate first). Adjusts the rate according to the takerFee. @@ -4671,7 +4661,7 @@ The input orders sorted by rate in ascending order ▸ **sortOrdersByFeeAdjustedRate**<**T**>(`orders`: `T`[], `feeRate`: `BigNumber`): *`T`[]* -*Defined in [order-utils/src/sorting_utils.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/sorting_utils.ts#L21)* +*Defined in [order-utils/src/sorting_utils.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/sorting_utils.ts#L21)* Takes an array of orders and sorts them by takerAsset/makerAsset rate in ascending order (best rate first). Adjusts the rate of each order according to the feeRate and takerFee for that order. @@ -4703,6 +4693,10 @@ The input orders sorted by rate in ascending order +
+ + + ## Object literals @@ -4710,13 +4704,13 @@ The input orders sorted by rate in ascending order #### ▪ **transactionHashUtils**: *object* -*Defined in [order-utils/src/transaction_hash.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/transaction_hash.ts#L9)* +*Defined in [order-utils/src/transaction_hash.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/transaction_hash.ts#L9)* #### getTransactionHashBuffer ▸ **getTransactionHashBuffer**(`transaction`: `ZeroExTransaction` | `SignedZeroExTransaction`): *`Buffer`* -*Defined in [order-utils/src/transaction_hash.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/transaction_hash.ts#L41)* +*Defined in [order-utils/src/transaction_hash.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/transaction_hash.ts#L41)* Computes the transactionHash for a supplied 0x transaction. @@ -4734,7 +4728,7 @@ A Buffer containing the resulting transactionHash from hashing the supplied 0x t ▸ **getTransactionHashHex**(`transaction`: `ZeroExTransaction` | `SignedZeroExTransaction`): *string* -*Defined in [order-utils/src/transaction_hash.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/transaction_hash.ts#L30)* +*Defined in [order-utils/src/transaction_hash.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/transaction_hash.ts#L30)* Computes the transactionHash for a supplied 0x transaction. @@ -4752,7 +4746,7 @@ Hex encoded string transactionHash from hashing the supplied order. ▸ **isValidTransactionHash**(`transactionHash`: string): *boolean* -*Defined in [order-utils/src/transaction_hash.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/order-utils/src/transaction_hash.ts#L17)* +*Defined in [order-utils/src/transaction_hash.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/order-utils/src/transaction_hash.ts#L17)* Checks if the supplied hex encoded 0x transaction hash is valid. Note: Valid means it has the expected format, not that a transaction with the transactionHash exists. @@ -4770,3 +4764,58 @@ Whether the supplied transactionHash has the expected format.
+ + +
+ + + + +## Type aliases + + + +### AssetData + +Ƭ **AssetData**: *[SingleAssetData](_types_src_index_.md#singleassetdata) | [MultiAssetData](#interface-multiassetdata) | [MultiAssetDataWithRecursiveDecoding](#interface-multiassetdatawithrecursivedecoding)* + +*Defined in [types/src/index.ts:224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L224)* + +___ + + + + + +### EIP712ObjectValue + +Ƭ **EIP712ObjectValue**: *string | number | [EIP712Object](#interface-eip712object)* + +*Defined in [types/src/index.ts:728](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L728)* + +___ + + + + + +### OrderState + +Ƭ **OrderState**: *[OrderStateValid](#interface-orderstatevalid) | [OrderStateInvalid](#interface-orderstateinvalid)* + +*Defined in [types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L141)* + +___ + + + + + +### SingleAssetData + +Ƭ **SingleAssetData**: *[ERC20AssetData](#interface-erc20assetdata) | [ERC721AssetData](#interface-erc721assetdata) | [ERC1155AssetData](#interface-erc1155assetdata) | [StaticCallAssetData](#interface-staticcallassetdata)* + +*Defined in [types/src/index.ts:204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L204)* + +
+ diff --git a/packages/order-utils/package.json b/packages/order-utils/package.json index 702502b5d1..b2fabad0c2 100644 --- a/packages/order-utils/package.json +++ b/packages/order-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/order-utils", - "version": "8.4.0", + "version": "8.5.0-beta.0", "engines": { "node": ">=6.12" }, @@ -39,8 +39,8 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/order-utils/README.md", "devDependencies": { - "@0x/dev-utils": "^2.3.3", - "@0x/subproviders": "^5.0.4", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", "@0x/ts-doc-gen": "^0.0.22", "@0x/tslint-config": "^3.0.1", "@types/bn.js": "^4.11.0", @@ -59,18 +59,18 @@ "web3-provider-engine": "14.0.6" }, "dependencies": { - "@0x/abi-gen-wrappers": "^5.3.2", - "@0x/assert": "^2.1.6", - "@0x/contract-addresses": "^3.2.0", - "@0x/contract-artifacts": "^2.2.2", - "@0x/json-schemas": "^4.0.2", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/abi-gen-wrappers": "^5.4.0-beta.0", + "@0x/assert": "^2.2.0-beta.0", + "@0x/contract-addresses": "^3.3.0-beta.0", + "@0x/contract-artifacts": "^2.3.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@types/node": "*", "bn.js": "^4.11.8", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-abi": "0.6.5", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", diff --git a/packages/order-utils/src/forwarder_revert_errors.ts b/packages/order-utils/src/forwarder_revert_errors.ts index d23075721f..106187a431 100644 --- a/packages/order-utils/src/forwarder_revert_errors.ts +++ b/packages/order-utils/src/forwarder_revert_errors.ts @@ -27,19 +27,6 @@ export class CompleteBuyFailedError extends RevertError { } } -export class MakerAssetMismatchError extends RevertError { - constructor(firstOrderMakerAssetData?: string, mismatchedMakerAssetData?: string) { - super( - 'MakerAssetMismatchError', - 'MakerAssetMismatchError(bytes firstOrderMakerAssetData, bytes mismatchedMakerAssetData)', - { - firstOrderMakerAssetData, - mismatchedMakerAssetData, - }, - ); - } -} - export class UnsupportedFeeError extends RevertError { constructor(takerFeeAssetData?: string) { super('UnsupportedFeeError', 'UnsupportedFeeError(bytes takerFeeAssetData)', { takerFeeAssetData }); @@ -64,10 +51,10 @@ export class InsufficientEthForFeeError extends RevertError { } } -export class OversoldWethError extends RevertError { - constructor(wethSold?: BigNumber | number | string, msgValue?: BigNumber | number | string) { - super('OversoldWethError', 'OversoldWethError(uint256 wethSold, uint256 msgValue)', { - wethSold, +export class OverspentWethError extends RevertError { + constructor(wethSpent?: BigNumber | number | string, msgValue?: BigNumber | number | string) { + super('OverspentWethError', 'OverspentWethError(uint256 wethSpent, uint256 msgValue)', { + wethSpent, msgValue, }); } @@ -87,9 +74,9 @@ export class DefaultFunctionWethContractOnlyError extends RevertError { } } -export class MsgValueCantEqualZeroError extends RevertError { +export class MsgValueCannotEqualZeroError extends RevertError { constructor() { - super('MsgValueCantEqualZeroError', 'MsgValueCantEqualZeroError()', {}); + super('MsgValueCannotEqualZeroError', 'MsgValueCannotEqualZeroError()', {}); } } @@ -105,14 +92,13 @@ const types = [ UnregisteredAssetProxyError, UnsupportedAssetProxyError, CompleteBuyFailedError, - MakerAssetMismatchError, UnsupportedFeeError, FeePercentageTooLargeError, InsufficientEthForFeeError, - OversoldWethError, + OverspentWethError, TransferFailedError, DefaultFunctionWethContractOnlyError, - MsgValueCantEqualZeroError, + MsgValueCannotEqualZeroError, Erc721AmountMustEqualOneError, ]; diff --git a/packages/order-utils/src/index.ts b/packages/order-utils/src/index.ts index b990fa0eae..1898f219c0 100644 --- a/packages/order-utils/src/index.ts +++ b/packages/order-utils/src/index.ts @@ -1,7 +1,7 @@ -import * as ExchangeRevertErrors from './exchange_revert_errors'; -import * as ForwarderRevertErrors from './forwarder_revert_errors'; -import * as LibMathRevertErrors from './lib_math_revert_errors'; -import * as StakingRevertErrors from './staking_revert_errors'; +export import ExchangeRevertErrors = require('./exchange_revert_errors'); +export import ForwarderRevertErrors = require('./forwarder_revert_errors'); +export import LibMathRevertErrors = require('./lib_math_revert_errors'); +export import StakingRevertErrors = require('./staking_revert_errors'); export { orderHashUtils } from './order_hash'; export { signatureUtils } from './signature_utils'; @@ -85,8 +85,4 @@ export { FeeOrdersAndRemainingFeeAmount, OrdersAndRemainingTakerFillAmount, OrdersAndRemainingMakerFillAmount, - ValidateOrderFillableOpts, } from './types'; - -export { ExchangeRevertErrors, ForwarderRevertErrors, LibMathRevertErrors, StakingRevertErrors }; -export { NetworkId, ExchangeContract } from '@0x/abi-gen-wrappers'; diff --git a/packages/orderbook/CHANGELOG.json b/packages/orderbook/CHANGELOG.json index 161bc1bd48..15c662c579 100644 --- a/packages/orderbook/CHANGELOG.json +++ b/packages/orderbook/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "0.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "0.0.2", diff --git a/packages/orderbook/CHANGELOG.md b/packages/orderbook/CHANGELOG.md index c64485e7eb..9f5e9d1237 100644 --- a/packages/orderbook/CHANGELOG.md +++ b/packages/orderbook/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v0.0.2 - _September 17, 2019_ * Dependencies updated diff --git a/packages/orderbook/package.json b/packages/orderbook/package.json index 72c755319c..d559ff82d4 100644 --- a/packages/orderbook/package.json +++ b/packages/orderbook/package.json @@ -1,6 +1,6 @@ { "name": "@0x/orderbook", - "version": "0.0.2", + "version": "0.1.0-beta.0", "description": "Library for retrieving and syncing a remote orderbook locally", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", @@ -30,7 +30,7 @@ "license": "Apache-2.0", "devDependencies": { "@0x/tslint-config": "^3.0.1", - "@0x/types": "^2.4.3", + "@0x/types": "^2.5.0-beta.0", "@types/jest": "^24.0.17", "@types/sinon": "^2.2.2", "@types/websocket": "^0.0.39", @@ -41,10 +41,10 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/assert": "^2.1.6", - "@0x/connect": "^5.0.19", + "@0x/assert": "^2.2.0-beta.0", + "@0x/connect": "^5.1.0-beta.0", "@0x/mesh-rpc-client": "^4.0.1-beta", - "@0x/order-utils": "^8.4.0", - "@0x/utils": "^4.5.2" + "@0x/order-utils": "^8.5.0-beta.0", + "@0x/utils": "^4.6.0-beta.0" } } diff --git a/packages/orderbook/src/order_provider/mesh_order_provider.ts b/packages/orderbook/src/order_provider/mesh_order_provider.ts index d2b76f798a..1d6b3e1738 100644 --- a/packages/orderbook/src/order_provider/mesh_order_provider.ts +++ b/packages/orderbook/src/order_provider/mesh_order_provider.ts @@ -32,8 +32,10 @@ export class MeshOrderProvider extends BaseOrderProvider { const remainingFillableTakerAssetAmount = (orderEvent as OrderEvent).fillableTakerAssetAmount ? (orderEvent as OrderEvent).fillableTakerAssetAmount : new BigNumber(0); + // TODO(dekz): Remove the any hack when mesh is published v3 return { - order: orderEvent.signedOrder, + // tslint:disable:no-unnecessary-type-assertion + order: orderEvent.signedOrder as any, metaData: { orderHash: orderEvent.orderHash, remainingFillableTakerAssetAmount, @@ -89,9 +91,10 @@ export class MeshOrderProvider extends BaseOrderProvider { */ public async addOrdersAsync(orders: SignedOrder[]): Promise { const { accepted, rejected } = await utils.attemptAsync(() => this._wsClient.addOrdersAsync(orders)); + // TODO(dekz): Remove the any hack when mesh is published v3 return { - accepted: accepted.map(o => o.signedOrder), - rejected: rejected.map(o => ({ order: o.signedOrder, message: o.status.message })), + accepted: accepted.map(o => o.signedOrder) as any, + rejected: rejected.map(o => ({ order: o.signedOrder, message: o.status.message })) as any, }; } diff --git a/packages/sol-compiler/CHANGELOG.json b/packages/sol-compiler/CHANGELOG.json index 61c1c5e389..efa2c2c311 100644 --- a/packages/sol-compiler/CHANGELOG.json +++ b/packages/sol-compiler/CHANGELOG.json @@ -1,12 +1,13 @@ [ { - "version": "3.2.0", + "version": "3.2.0-beta.0", "changes": [ { "note": "Convert `getContractNamesToCompile` to public function of `Compiler` class", "pr": 2055 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/sol-compiler/CHANGELOG.md b/packages/sol-compiler/CHANGELOG.md index 5c008a69f9..d848c556b2 100644 --- a/packages/sol-compiler/CHANGELOG.md +++ b/packages/sol-compiler/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.2.0-beta.0 - _October 3, 2019_ + + * Convert `getContractNamesToCompile` to public function of `Compiler` class (#2055) + ## v3.1.15 - _September 17, 2019_ * Dependencies updated diff --git a/packages/sol-compiler/docs/reference.mdx b/packages/sol-compiler/docs/reference.mdx index 8863f052a0..3219d48829 100644 --- a/packages/sol-compiler/docs/reference.mdx +++ b/packages/sol-compiler/docs/reference.mdx @@ -1,7 +1,81 @@ +# Class: Compiler + +The Compiler facilitates compiling Solidity smart contracts and saves the results +to artifact files. + + +## Constructors +\+ **new Compiler**(`opts?`: [CompilerOptions](#interface-compileroptions)): *[Compiler](#class-compiler)* +*Defined in [sol-compiler/src/compiler.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-compiler/src/compiler.ts#L94)* + +Instantiates a new instance of the Compiler class. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`opts?` | [CompilerOptions](#interface-compileroptions) | Optional compiler options | + +**Returns:** *[Compiler](#class-compiler)* + +An instance of the Compiler class. + +## Methods + +### compileAsync + +▸ **compileAsync**(): *`Promise`* + +*Defined in [sol-compiler/src/compiler.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-compiler/src/compiler.ts#L132)* + +Compiles selected Solidity files found in `contractsDir` and writes JSON artifacts to `artifactsDir`. + +**Returns:** *`Promise`* + +___ + +### getCompilerOutputsAsync + +▸ **getCompilerOutputsAsync**(): *`Promise`* + +*Defined in [sol-compiler/src/compiler.ts:145](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-compiler/src/compiler.ts#L145)* + +Compiles Solidity files specified during instantiation, and returns the +compiler output given by solc. Return value is an array of outputs: +Solidity modules are batched together by version required, and each +element of the returned array corresponds to a compiler version, and +each element contains the output for all of the modules compiled with +that version. + +**Returns:** *`Promise`* + +___ + +### getContractNamesToCompile + +▸ **getContractNamesToCompile**(): *string[]* + +*Defined in [sol-compiler/src/compiler.ts:186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-compiler/src/compiler.ts#L186)* + +Gets a list of contracts to compile. + +**Returns:** *string[]* + +___ + +### watchAsync + +▸ **watchAsync**(): *`Promise`* + +*Defined in [sol-compiler/src/compiler.ts:149](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-compiler/src/compiler.ts#L149)* + +**Returns:** *`Promise`* + +
@@ -10,7 +84,6 @@ -
@@ -45,7 +118,7 @@ contracts to compile with the the version specified here. • **artifactsDir**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:723](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L723)* +*Defined in [ethereum-types/src/index.ts:731](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L731)* ___ @@ -53,7 +126,7 @@ ___ • **compilerSettings**? : *[CompilerSettings](#class-compilersettings)* -*Defined in [ethereum-types/src/index.ts:724](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L724)* +*Defined in [ethereum-types/src/index.ts:732](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L732)* ___ @@ -61,7 +134,7 @@ ___ • **contracts**? : *string[] | "*"* -*Defined in [ethereum-types/src/index.ts:725](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L725)* +*Defined in [ethereum-types/src/index.ts:733](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L733)* ___ @@ -69,7 +142,7 @@ ___ • **contractsDir**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:722](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L722)* +*Defined in [ethereum-types/src/index.ts:730](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L730)* ___ @@ -77,7 +150,7 @@ ___ • **isOfflineMode**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:727](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L727)* +*Defined in [ethereum-types/src/index.ts:735](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L735)* ___ @@ -85,7 +158,7 @@ ___ • **solcVersion**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:728](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L728)* +*Defined in [ethereum-types/src/index.ts:736](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L736)* ___ @@ -93,7 +166,7 @@ ___ • **useDockerisedSolc**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:726](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L726)* +*Defined in [ethereum-types/src/index.ts:734](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L734)*
@@ -108,7 +181,7 @@ ___ • **evmVersion**? : *"homestead" | "tangerineWhistle" | "spuriousDragon" | "byzantium" | "constantinople"* -*Defined in [ethereum-types/src/index.ts:681](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L681)* +*Defined in [ethereum-types/src/index.ts:689](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L689)* ___ @@ -116,7 +189,7 @@ ___ • **libraries**? : *undefined | object* -*Defined in [ethereum-types/src/index.ts:683](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L683)* +*Defined in [ethereum-types/src/index.ts:691](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L691)* ___ @@ -124,7 +197,7 @@ ___ • **metadata**? : *[CompilerSettingsMetadata](#class-compilersettingsmetadata)* -*Defined in [ethereum-types/src/index.ts:682](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L682)* +*Defined in [ethereum-types/src/index.ts:690](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L690)* ___ @@ -132,7 +205,7 @@ ___ • **optimizer**? : *[OptimizerSettings](#class-optimizersettings)* -*Defined in [ethereum-types/src/index.ts:680](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L680)* +*Defined in [ethereum-types/src/index.ts:688](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L688)* ___ @@ -140,7 +213,7 @@ ___ • **outputSelection**: *object* -*Defined in [ethereum-types/src/index.ts:688](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L688)* +*Defined in [ethereum-types/src/index.ts:696](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L696)* #### Type declaration: @@ -154,7 +227,7 @@ ___ • **remappings**? : *string[]* -*Defined in [ethereum-types/src/index.ts:679](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L679)* +*Defined in [ethereum-types/src/index.ts:687](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L687)*
@@ -167,7 +240,7 @@ ___ • **useLiteralContent**: *true* -*Defined in [ethereum-types/src/index.ts:696](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L696)* +*Defined in [ethereum-types/src/index.ts:704](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L704)*
@@ -180,7 +253,7 @@ ___ • **inputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:103](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L103)* +*Defined in [ethereum-types/src/index.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L103)* ___ @@ -188,7 +261,7 @@ ___ • **payable**: *boolean* -*Defined in [ethereum-types/src/index.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L104)* +*Defined in [ethereum-types/src/index.ts:104](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L104)* ___ @@ -196,7 +269,7 @@ ___ • **stateMutability**: *[ConstructorStateMutability](#constructorstatemutability)* -*Defined in [ethereum-types/src/index.ts:105](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L105)* +*Defined in [ethereum-types/src/index.ts:105](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L105)* ___ @@ -204,7 +277,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:102](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L102)* +*Defined in [ethereum-types/src/index.ts:102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L102)*
@@ -223,7 +296,7 @@ ___ • **components**? : *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L131)* +*Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* ___ @@ -231,7 +304,7 @@ ___ • **name**: *string* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -239,7 +312,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -256,7 +329,7 @@ ___ • **author**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:620](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L620)* +*Defined in [ethereum-types/src/index.ts:628](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L628)* ___ @@ -264,7 +337,7 @@ ___ • **methods**: *object* -*Defined in [ethereum-types/src/index.ts:621](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L621)* +*Defined in [ethereum-types/src/index.ts:629](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L629)* #### Type declaration: @@ -276,7 +349,7 @@ ___ • **title**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:619](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L619)* +*Defined in [ethereum-types/src/index.ts:627](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L627)*
@@ -291,7 +364,7 @@ ___ • **anonymous**: *boolean* -*Defined in [ethereum-types/src/index.ts:125](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L125)* +*Defined in [ethereum-types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L131)* ___ @@ -299,7 +372,7 @@ ___ • **inputs**: *[EventParameter](#class-eventparameter)[]* -*Defined in [ethereum-types/src/index.ts:124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L124)* +*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L130)* ___ @@ -307,7 +380,7 @@ ___ • **name**: *string* -*Defined in [ethereum-types/src/index.ts:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L123)* +*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L129)* ___ @@ -315,7 +388,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L122)* +*Defined in [ethereum-types/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L128)*
@@ -330,7 +403,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[components](#optional-components)* -*Defined in [ethereum-types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L131)* +*Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* ___ @@ -338,7 +411,7 @@ ___ • **indexed**: *boolean* -*Defined in [ethereum-types/src/index.ts:116](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L116)* +*Defined in [ethereum-types/src/index.ts:116](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L116)* ___ @@ -348,7 +421,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[name](#name)* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -358,7 +431,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[type](#type)* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -371,7 +444,7 @@ ___ • **object**: *string* -*Defined in [ethereum-types/src/index.ts:614](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L614)* +*Defined in [ethereum-types/src/index.ts:622](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L622)* ___ @@ -379,7 +452,7 @@ ___ • **sourceMap**: *string* -*Defined in [ethereum-types/src/index.ts:615](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L615)* +*Defined in [ethereum-types/src/index.ts:623](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L623)*
@@ -392,7 +465,7 @@ ___ • **bytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* -*Defined in [ethereum-types/src/index.ts:609](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L609)* +*Defined in [ethereum-types/src/index.ts:617](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L617)* ___ @@ -400,7 +473,7 @@ ___ • **deployedBytecode**: *[EvmBytecodeOutput](#class-evmbytecodeoutput)* -*Defined in [ethereum-types/src/index.ts:610](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L610)* +*Defined in [ethereum-types/src/index.ts:618](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L618)*
@@ -413,7 +486,7 @@ ___ • **payable**: *boolean* -*Defined in [ethereum-types/src/index.ts:112](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L112)* +*Defined in [ethereum-types/src/index.ts:112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L112)* ___ @@ -421,76 +494,11 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L111)* +*Defined in [ethereum-types/src/index.ts:111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L111)*
-# Class: Compiler -The Compiler facilitates compiling Solidity smart contracts and saves the results -to artifact files. - - -## Constructors - - - -\+ **new Compiler**(`opts?`: [CompilerOptions](#interface-compileroptions)): *[Compiler](#class-compiler)* - -*Defined in [sol-compiler/src/compiler.ts:94](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-compiler/src/compiler.ts#L94)* - -Instantiates a new instance of the Compiler class. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`opts?` | [CompilerOptions](#interface-compileroptions) | Optional compiler options | - -**Returns:** *[Compiler](#class-compiler)* - -An instance of the Compiler class. - -## Methods - -### compileAsync - -▸ **compileAsync**(): *`Promise`* - -*Defined in [sol-compiler/src/compiler.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-compiler/src/compiler.ts#L132)* - -Compiles selected Solidity files found in `contractsDir` and writes JSON artifacts to `artifactsDir`. - -**Returns:** *`Promise`* - -___ - -### getCompilerOutputsAsync - -▸ **getCompilerOutputsAsync**(): *`Promise`* - -*Defined in [sol-compiler/src/compiler.ts:145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-compiler/src/compiler.ts#L145)* - -Compiles Solidity files specified during instantiation, and returns the -compiler output given by solc. Return value is an array of outputs: -Solidity modules are batched together by version required, and each -element of the returned array corresponds to a compiler version, and -each element contains the output for all of the modules compiled with -that version. - -**Returns:** *`Promise`* - -___ - -### watchAsync - -▸ **watchAsync**(): *`Promise`* - -*Defined in [sol-compiler/src/compiler.ts:149](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-compiler/src/compiler.ts#L149)* - -**Returns:** *`Promise`* - -
@@ -517,7 +525,7 @@ ___ • **constant**: *boolean* -*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L94)* +*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L94)* ___ @@ -525,7 +533,7 @@ ___ • **inputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L92)* +*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L92)* ___ @@ -533,7 +541,7 @@ ___ • **name**: *string* -*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L91)* +*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L91)* ___ @@ -541,7 +549,7 @@ ___ • **outputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L93)* +*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L93)* ___ @@ -549,7 +557,7 @@ ___ • **payable**: *boolean* -*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L96)* +*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L96)* ___ @@ -557,7 +565,7 @@ ___ • **stateMutability**: *[StateMutability](#statemutability)* -*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L95)* +*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L95)* ___ @@ -565,7 +573,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L90)* +*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L90)*
@@ -578,7 +586,7 @@ ___ • **enabled**: *boolean* -*Defined in [ethereum-types/src/index.ts:700](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L700)* +*Defined in [ethereum-types/src/index.ts:708](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L708)* ___ @@ -586,7 +594,7 @@ ___ • **runs**? : *undefined | number* -*Defined in [ethereum-types/src/index.ts:701](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L701)* +*Defined in [ethereum-types/src/index.ts:709](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L709)*
@@ -594,6 +602,35 @@ ___ +# Interface: RevertErrorAbi + + +## Properties + +### `Optional` arguments + +• **arguments**? : *[DataItem](#class-dataitem)[]* + +*Defined in [ethereum-types/src/index.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L122)* + +___ + +### name + +• **name**: *string* + +*Defined in [ethereum-types/src/index.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L121)* + +___ + +### type + +• **type**: *"error"* + +*Defined in [ethereum-types/src/index.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L120)* + +
+ # Interface: SolcError @@ -603,7 +640,7 @@ ___ • **component**: *"general" | "ewasm"* -*Defined in [ethereum-types/src/index.ts:596](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L596)* +*Defined in [ethereum-types/src/index.ts:604](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L604)* ___ @@ -611,7 +648,7 @@ ___ • **formattedMessage**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:599](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L599)* +*Defined in [ethereum-types/src/index.ts:607](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L607)* ___ @@ -619,7 +656,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:598](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L598)* +*Defined in [ethereum-types/src/index.ts:606](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L606)* ___ @@ -627,7 +664,7 @@ ___ • **severity**: *[ErrorSeverity](#errorseverity)* -*Defined in [ethereum-types/src/index.ts:597](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L597)* +*Defined in [ethereum-types/src/index.ts:605](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L605)* ___ @@ -635,7 +672,7 @@ ___ • **sourceLocation**? : *[SourceLocation](#class-sourcelocation)* -*Defined in [ethereum-types/src/index.ts:594](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L594)* +*Defined in [ethereum-types/src/index.ts:602](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L602)* ___ @@ -643,7 +680,7 @@ ___ • **type**: *[ErrorType](#errortype)* -*Defined in [ethereum-types/src/index.ts:595](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L595)* +*Defined in [ethereum-types/src/index.ts:603](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L603)*
@@ -660,7 +697,7 @@ ___ • **abi**: *[ContractAbi](#contractabi)* -*Defined in [ethereum-types/src/index.ts:556](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L556)* +*Defined in [ethereum-types/src/index.ts:564](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L564)* ___ @@ -668,7 +705,7 @@ ___ • **devdoc**? : *[DevdocOutput](#class-devdocoutput)* -*Defined in [ethereum-types/src/index.ts:558](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L558)* +*Defined in [ethereum-types/src/index.ts:566](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L566)* ___ @@ -676,7 +713,7 @@ ___ • **evm**: *[EvmOutput](#class-evmoutput)* -*Defined in [ethereum-types/src/index.ts:557](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L557)* +*Defined in [ethereum-types/src/index.ts:565](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L565)*
@@ -689,7 +726,7 @@ ___ • **contracts**: *object* -*Defined in [ethereum-types/src/index.ts:570](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L570)* +*Defined in [ethereum-types/src/index.ts:578](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L578)* #### Type declaration: @@ -703,7 +740,7 @@ ___ • **errors**: *[SolcError](#class-solcerror)[]* -*Defined in [ethereum-types/src/index.ts:562](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L562)* +*Defined in [ethereum-types/src/index.ts:570](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L570)* ___ @@ -711,7 +748,7 @@ ___ • **sources**: *object* -*Defined in [ethereum-types/src/index.ts:563](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L563)* +*Defined in [ethereum-types/src/index.ts:571](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L571)* #### Type declaration: @@ -742,7 +779,7 @@ ___ *Overrides [DataItem](_ethereum_types_src_index_.dataitem.md).[components](#optional-components)* -*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L135)* +*Defined in [ethereum-types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L141)* ___ @@ -752,7 +789,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[name](#name)* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -762,7 +799,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[type](#type)* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -785,9 +822,9 @@ ___ ### AbiDefinition -Ƭ **AbiDefinition**: *[FunctionAbi](_ethereum_types_src_index_.md#functionabi) | [EventAbi](#interface-eventabi)* +Ƭ **AbiDefinition**: *[FunctionAbi](_ethereum_types_src_index_.md#functionabi) | [EventAbi](#interface-eventabi) | [RevertErrorAbi](#interface-reverterrorabi)* -*Defined in [ethereum-types/src/index.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L80)* +*Defined in [ethereum-types/src/index.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L80)* ___ @@ -797,7 +834,7 @@ ___ Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"* -*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L84)* +*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L84)* ___ @@ -805,7 +842,7 @@ ___ Ƭ **ContractAbi**: *[AbiDefinition](#abidefinition)[]* -*Defined in [ethereum-types/src/index.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L78)* +*Defined in [ethereum-types/src/index.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L78)* ___ @@ -813,11 +850,13 @@ ___ + + ### ErrorSeverity Ƭ **ErrorSeverity**: *"error" | "warning"* -*Defined in [ethereum-types/src/index.ts:591](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L591)* +*Defined in [ethereum-types/src/index.ts:599](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L599)* ___ @@ -825,7 +864,7 @@ ___ Ƭ **ErrorType**: *"JSONError" | "IOError" | "ParserError" | "DocstringParsingError" | "SyntaxError" | "DeclarationError" | "TypeError" | "UnimplementedFeatureError" | "InternalCompilerError" | "Exception" | "CompilerError" | "FatalError" | "Warning"* -*Defined in [ethereum-types/src/index.ts:577](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L577)* +*Defined in [ethereum-types/src/index.ts:585](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L585)* ___ @@ -833,7 +872,7 @@ ___ Ƭ **FunctionAbi**: *[MethodAbi](#interface-methodabi) | [ConstructorAbi](#interface-constructorabi) | [FallbackAbi](#interface-fallbackabi)* -*Defined in [ethereum-types/src/index.ts:82](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L82)* +*Defined in [ethereum-types/src/index.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L82)* ___ @@ -845,7 +884,7 @@ ___ Ƭ **OutputField**: *"*" | "ast" | "legacyAST" | "abi" | "devdoc" | "userdoc" | "metadata" | "ir" | "evm.assembly" | "evm.legacyAssembly" | "evm.bytecode.object" | "evm.bytecode.opcodes" | "evm.bytecode.sourceMap" | "evm.bytecode.linkReferences" | "evm.deployedBytecode.object" | "evm.deployedBytecode.opcodes" | "evm.deployedBytecode.sourceMap" | "evm.deployedBytecode.linkReferences" | "evm.methodIdentifiers" | "evm.gasEstimates" | "ewasm.wast" | "ewasm.wasm"* -*Defined in [ethereum-types/src/index.ts:517](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L517)* +*Defined in [ethereum-types/src/index.ts:525](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L525)* ___ @@ -853,7 +892,7 @@ ___ Ƭ **ParamDescription**: *string* -*Defined in [ethereum-types/src/index.ts:553](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L553)* +*Defined in [ethereum-types/src/index.ts:561](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L561)* ___ @@ -863,7 +902,7 @@ ___ Ƭ **StateMutability**: *"pure" | "view" | [ConstructorStateMutability](#constructorstatemutability)* -*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L85)* +*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L85)* ___ @@ -875,3 +914,7 @@ ___ + + +
+ diff --git a/packages/sol-compiler/package.json b/packages/sol-compiler/package.json index 2a1ba55061..909976284d 100644 --- a/packages/sol-compiler/package.json +++ b/packages/sol-compiler/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-compiler", - "version": "3.1.15", + "version": "3.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -46,7 +46,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-compiler/README.md", "devDependencies": { - "@0x/dev-utils": "^2.3.3", + "@0x/dev-utils": "^2.4.0-beta.0", "@0x/ts-doc-gen": "^0.0.22", "@0x/tslint-config": "^3.0.1", "@types/mkdirp": "^0.5.2", @@ -74,17 +74,17 @@ "zeppelin-solidity": "1.8.0" }, "dependencies": { - "@0x/assert": "^2.1.6", - "@0x/json-schemas": "^4.0.2", - "@0x/sol-resolver": "^2.0.11", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/assert": "^2.2.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/sol-resolver": "^2.1.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@types/yargs": "^11.0.0", "chalk": "^2.3.0", "chokidar": "^3.0.2", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", "mkdirp": "^0.5.1", diff --git a/packages/sol-compiler/src/index.ts b/packages/sol-compiler/src/index.ts index db77fb86b6..25e281ce8d 100644 --- a/packages/sol-compiler/src/index.ts +++ b/packages/sol-compiler/src/index.ts @@ -27,4 +27,5 @@ export { StandardOutput, StateMutability, SourceLocation, + RevertErrorAbi, } from 'ethereum-types'; diff --git a/packages/sol-compiler/src/utils/constants.ts b/packages/sol-compiler/src/utils/constants.ts index 9dd54f14dd..f7bb91d42a 100644 --- a/packages/sol-compiler/src/utils/constants.ts +++ b/packages/sol-compiler/src/utils/constants.ts @@ -4,8 +4,14 @@ export const constants = { SOLIDITY_FILE_EXTENSION: '.sol', BASE_COMPILER_URL: 'https://ethereum.github.io/solc-bin/bin/', LATEST_ARTIFACT_VERSION: '2.0.0', - SOLC_BIN_DIR: path.join(__dirname, '..', '..', 'solc_bin'), + SOLC_BIN_DIR: path.join(__dirname, '..', '..', '..', 'solc_bin'), SOLC_BIN_PATHS: { + '0.5.12': 'soljson-v0.5.12+commit.7709ece9.js', + '0.5.11': 'soljson-v0.5.11+commit.c082d0b4.js', + '0.5.10': 'soljson-v0.5.10+commit.5a6ea5b1.js', + '0.5.9': 'soljson-v0.5.9+commit.e560f70d.js', + '0.5.8': 'soljson-v0.5.8+commit.23d335f2.js', + '0.5.7': 'soljson-v0.5.7+commit.6da8b019.js', '0.5.6': 'soljson-v0.5.6+commit.b259423e.js', '0.5.5': 'soljson-v0.5.5+commit.47a71e8f.js', '0.5.4': 'soljson-v0.5.4+commit.9549d8ff.js', @@ -13,6 +19,7 @@ export const constants = { '0.5.2': 'soljson-v0.5.2+commit.1df8f40c.js', '0.5.1': 'soljson-v0.5.1+commit.c8a2cb62.js', '0.5.0': 'soljson-v0.5.0+commit.1d4f565a.js', + '0.4.26': 'soljson-v0.4.26+commit.4563c3fc.js', '0.4.25': 'soljson-v0.4.25+commit.59dbf8f1.js', '0.4.24': 'soljson-v0.4.24+commit.e67f0147.js', '0.4.23': 'soljson-v0.4.23+commit.124ca40d.js', diff --git a/packages/sol-coverage/CHANGELOG.json b/packages/sol-coverage/CHANGELOG.json index ac2cecd31a..791dd3c6d5 100644 --- a/packages/sol-coverage/CHANGELOG.json +++ b/packages/sol-coverage/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "3.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "3.0.12", diff --git a/packages/sol-coverage/CHANGELOG.md b/packages/sol-coverage/CHANGELOG.md index f98d8f210d..48a4aa8ddb 100644 --- a/packages/sol-coverage/CHANGELOG.md +++ b/packages/sol-coverage/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v3.0.12 - _September 17, 2019_ * Dependencies updated diff --git a/packages/sol-coverage/docs/reference.mdx b/packages/sol-coverage/docs/reference.mdx index d12ebe5a42..3d48323485 100644 --- a/packages/sol-coverage/docs/reference.mdx +++ b/packages/sol-coverage/docs/reference.mdx @@ -1,183 +1,231 @@ +# Class: CoverageSubprovider +This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. +It's used to compute your code coverage while running solidity tests. -# Class: AbstractArtifactAdapter +## Constructors -## Methods -### `Abstract` collectContractsDataAsync -▸ **collectContractsDataAsync**(): *`Promise`* +\+ **new CoverageSubprovider**(`artifactAdapter`: `AbstractArtifactAdapter`, `defaultFromAddress`: string, `partialConfig`: [CoverageSubproviderPartialConfig](#coveragesubproviderpartialconfig)): *[CoverageSubprovider](#class-coveragesubprovider)* -*Defined in [sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts#L4)* +*Overrides void* -**Returns:** *`Promise`* +*Defined in [sol-coverage/src/coverage_subprovider.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-coverage/src/coverage_subprovider.ts#L44)* -
+Instantiates a CoverageSubprovider instance -# Class: SolCompilerArtifactAdapter +**Parameters:** +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`artifactAdapter` | `AbstractArtifactAdapter` | - | Adapter for used artifacts format (0x, truffle, giveth, etc.) | +`defaultFromAddress` | string | - | default from address to use when sending transactions | +`partialConfig` | [CoverageSubproviderPartialConfig](#coveragesubproviderpartialconfig) | {} | Partial configuration object | -## Constructors +**Returns:** *[CoverageSubprovider](#class-coveragesubprovider)* +## Methods +### emitPayloadAsync -\+ **new SolCompilerArtifactAdapter**(`artifactsPath?`: undefined | string, `sourcesPath?`: undefined | string): *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L18)* -Instantiates a SolCompilerArtifactAdapter + +Defined in subproviders/lib/src/subproviders/subprovider.d.ts:25 + +Emits a JSON RPC payload that will then be handled by the ProviderEngine instance +this subprovider is a part of. The payload will cascade down the subprovider middleware +stack until finding the responsible entity for handling the request. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`artifactsPath?` | undefined \| string | Path to your artifacts directory | -`sourcesPath?` | undefined \| string | Path to your contract sources directory | +`payload` | `Partial` | JSON RPC payload | -**Returns:** *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +**Returns:** *`Promise`* -## Methods +JSON RPC response payload -### collectContractsDataAsync +___ -▸ **collectContractsDataAsync**(): *`Promise`* +### handleRequest -*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* +▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [NextCallback](#nextcallback), `_end`: [ErrorCallback](#errorcallback)): *`Promise`* -*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L44)* -**Returns:** *`Promise`* -
+*Overrides void* -# Class: TruffleArtifactAdapter +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:42 +This method conforms to the web3-provider-engine interface. +It is called internally by the ProviderEngine when it is this subproviders +turn to handle a JSON RPC request. -## Constructors +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`payload` | `JSONRPCRequestPayload` | JSON RPC payload | +`next` | [NextCallback](#nextcallback) | Callback to call if this subprovider decides not to handle the request | +`_end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | +**Returns:** *`Promise`* -\+ **new TruffleArtifactAdapter**(`projectRoot`: string, `solcVersion`: string): *[TruffleArtifactAdapter](#class-truffleartifactadapter)* +___ -*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:29](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L29)* +### setEngine -Instantiates a TruffleArtifactAdapter +▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* + + + +*Overrides void* + +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:49 + +Set's the subprovider's engine to the ProviderEngine it is added to. +This is only called within the ProviderEngine source code, do not call +directly. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`projectRoot` | string | Path to the truffle project's root directory | -`solcVersion` | string | Solidity version with which to compile all the contracts | - -**Returns:** *[TruffleArtifactAdapter](#class-truffleartifactadapter)* +`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | -## Methods +**Returns:** *void* -### collectContractsDataAsync +___ -▸ **collectContractsDataAsync**(): *`Promise`* +### start -*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* +▸ **start**(): *void* -*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L40)* -**Returns:** *`Promise`* -
+Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:29 +Starts trace collection +**Returns:** *void* +___ +### stop +▸ **stop**(): *void* +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:33 +Stops trace collection +**Returns:** *void* +___ +### writeCoverageAsync +▸ **writeCoverageAsync**(): *`Promise`* +*Defined in [sol-coverage/src/coverage_subprovider.ts:78](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-coverage/src/coverage_subprovider.ts#L78)* +Write the test coverage results to a file in Istanbul format. +**Returns:** *`Promise`* +
+# Class: AbstractArtifactAdapter -## Type aliases +## Methods -### Callback +### `Abstract` collectContractsDataAsync -Ƭ **Callback**: *function* +▸ **collectContractsDataAsync**(): *`Promise`* -*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L131)* +*Defined in [sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts#L4)* -#### Type declaration: +**Returns:** *`Promise`* -▸ (): *void* +
-___ +# Class: SolCompilerArtifactAdapter +## Constructors -### ErrorCallback -Ƭ **ErrorCallback**: *function* -*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L130)* +\+ **new SolCompilerArtifactAdapter**(`artifactsPath?`: undefined | string, `sourcesPath?`: undefined | string): *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* -#### Type declaration: +*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L18)* -▸ (`err`: `Error` | null, `data?`: any): *void* +Instantiates a SolCompilerArtifactAdapter **Parameters:** -Name | Type | ------- | ------ | -`err` | `Error` \| null | -`data?` | any | +Name | Type | Description | +------ | ------ | ------ | +`artifactsPath?` | undefined \| string | Path to your artifacts directory | +`sourcesPath?` | undefined \| string | Path to your contract sources directory | -___ +**Returns:** *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +## Methods +### collectContractsDataAsync -### NextCallback +▸ **collectContractsDataAsync**(): *`Promise`* -Ƭ **NextCallback**: *function* +*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* -*Defined in [subproviders/src/types.ts:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L133)* +*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L44)* -#### Type declaration: +**Returns:** *`Promise`* -▸ (`callback?`: [OnNextCompleted](#onnextcompleted)): *void* +
-**Parameters:** +# Class: TruffleArtifactAdapter -Name | Type | ------- | ------ | -`callback?` | [OnNextCompleted](#onnextcompleted) | -___ +## Constructors -### OnNextCompleted -Ƭ **OnNextCompleted**: *function* -*Defined in [subproviders/src/types.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L132)* +\+ **new TruffleArtifactAdapter**(`projectRoot`: string, `solcVersion`: string): *[TruffleArtifactAdapter](#class-truffleartifactadapter)* -#### Type declaration: +*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L29)* -▸ (`err`: `Error` | null, `result`: any, `cb`: [Callback](#callback)): *void* +Instantiates a TruffleArtifactAdapter **Parameters:** -Name | Type | ------- | ------ | -`err` | `Error` \| null | -`result` | any | -`cb` | [Callback](#callback) | +Name | Type | Description | +------ | ------ | ------ | +`projectRoot` | string | Path to the truffle project's root directory | +`solcVersion` | string | Solidity version with which to compile all the contracts | + +**Returns:** *[TruffleArtifactAdapter](#class-truffleartifactadapter)* + +## Methods + +### collectContractsDataAsync + +▸ **collectContractsDataAsync**(): *`Promise`* + +*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* + +*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L40)* + +**Returns:** *`Promise`*
@@ -218,6 +266,22 @@ Name | Type | + + + + + + + + + + + + + + + + @@ -244,7 +308,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -252,7 +316,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -260,7 +324,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -268,7 +332,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -281,7 +345,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -289,7 +353,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -302,7 +366,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -310,7 +374,7 @@ ___ • **id**: *number* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -318,7 +382,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -326,7 +390,7 @@ ___ • **result**: *any* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -362,167 +426,110 @@ ___ -# Class: CoverageSubprovider - -This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. -It's used to compute your code coverage while running solidity tests. -## Constructors -\+ **new CoverageSubprovider**(`artifactAdapter`: `AbstractArtifactAdapter`, `defaultFromAddress`: string, `partialConfig`: [CoverageSubproviderPartialConfig](#coveragesubproviderpartialconfig)): *[CoverageSubprovider](#class-coveragesubprovider)* -*Overrides void* -*Defined in [sol-coverage/src/coverage_subprovider.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-coverage/src/coverage_subprovider.ts#L44)* -Instantiates a CoverageSubprovider instance -**Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`artifactAdapter` | `AbstractArtifactAdapter` | - | Adapter for used artifacts format (0x, truffle, giveth, etc.) | -`defaultFromAddress` | string | - | default from address to use when sending transactions | -`partialConfig` | [CoverageSubproviderPartialConfig](#coveragesubproviderpartialconfig) | {} | Partial configuration object | - -**Returns:** *[CoverageSubprovider](#class-coveragesubprovider)* - -## Methods - -### emitPayloadAsync - -▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -Defined in subproviders/lib/src/subproviders/subprovider.d.ts:25 -Emits a JSON RPC payload that will then be handled by the ProviderEngine instance -this subprovider is a part of. The payload will cascade down the subprovider middleware -stack until finding the responsible entity for handling the request. -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`payload` | `Partial` | JSON RPC payload | -**Returns:** *`Promise`* -JSON RPC response payload -___ -### handleRequest -▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [NextCallback](#nextcallback), `_end`: [ErrorCallback](#errorcallback)): *`Promise`* -*Overrides void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:42 -This method conforms to the web3-provider-engine interface. -It is called internally by the ProviderEngine when it is this subproviders -turn to handle a JSON RPC request. -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`payload` | `JSONRPCRequestPayload` | JSON RPC payload | -`next` | [NextCallback](#nextcallback) | Callback to call if this subprovider decides not to handle the request | -`_end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | + -**Returns:** *`Promise`* -___ -### setEngine -▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* + + -*Overrides void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:49 -Set's the subprovider's engine to the ProviderEngine it is added to. -This is only called within the ProviderEngine source code, do not call -directly. -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | -**Returns:** *void* -___ + -### start -▸ **start**(): *void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:29 -Starts trace collection -**Returns:** *void* -___ -### stop -▸ **stop**(): *void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:33 -Stops trace collection -**Returns:** *void* +# Interface: JSONRPCRequestPayloadWithMethod -___ -### writeCoverageAsync +## Properties -▸ **writeCoverageAsync**(): *`Promise`* +### id -*Defined in [sol-coverage/src/coverage_subprovider.ts:78](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-coverage/src/coverage_subprovider.ts#L78)* +• **id**: *number* -Write the test coverage results to a file in Istanbul format. -**Returns:** *`Promise`* -
+Defined in ethereum-types/lib/index.d.ts:267 +___ +### jsonrpc +• **jsonrpc**: *string* +Defined in ethereum-types/lib/index.d.ts:268 +___ +### method +• **method**: *string* +*Overrides void* +*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L136)* +___ +### params +• **params**: *any[]* +Defined in ethereum-types/lib/index.d.ts:265 +
@@ -530,15 +537,12 @@ Write the test coverage results to a file in Istanbul format. - - - @@ -546,7 +550,6 @@ Write the test coverage results to a file in Istanbul format. - @@ -561,51 +564,32 @@ Write the test coverage results to a file in Istanbul format. +## Type aliases -# Interface: JSONRPCRequestPayloadWithMethod -## Properties -### id -• **id**: *number* -Defined in ethereum-types/lib/index.d.ts:262 -___ -### jsonrpc -• **jsonrpc**: *string* -Defined in ethereum-types/lib/index.d.ts:263 -___ -### method -• **method**: *string* -*Overrides void* -*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L136)* -___ -### params - -• **params**: *any[]* -Defined in ethereum-types/lib/index.d.ts:260 -
@@ -625,30 +609,47 @@ Defined in ethereum-types/lib/index.d.ts:260 +## Type aliases +### CoverageSubproviderPartialConfig +Ƭ **CoverageSubproviderPartialConfig**: *`Partial`* +*Defined in [sol-coverage/src/coverage_subprovider.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-coverage/src/coverage_subprovider.ts#L31)* +## Object literals +### `Const` DEFAULT_COVERAGE_SUBPROVIDER_CONFIG +#### ▪ **DEFAULT_COVERAGE_SUBPROVIDER_CONFIG**: *object* +*Defined in [sol-coverage/src/coverage_subprovider.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-coverage/src/coverage_subprovider.ts#L33)* +#### ignoreFilesGlobs +• **ignoreFilesGlobs**: *never[]* = [] +*Defined in [sol-coverage/src/coverage_subprovider.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-coverage/src/coverage_subprovider.ts#L35)* +#### isVerbose +• **isVerbose**: *boolean* = true +*Defined in [sol-coverage/src/coverage_subprovider.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-coverage/src/coverage_subprovider.ts#L34)* +
-## Type aliases +
+
+
@@ -666,75 +667,78 @@ Defined in ethereum-types/lib/index.d.ts:260 +## Type aliases +### Callback +Ƭ **Callback**: *function* +*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L131)* +#### Type declaration: +▸ (): *void* +___ +### ErrorCallback +Ƭ **ErrorCallback**: *function* +*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L130)* +#### Type declaration: +▸ (`err`: `Error` | null, `data?`: any): *void* +**Parameters:** +Name | Type | +------ | ------ | +`err` | `Error` \| null | +`data?` | any | +___ +### NextCallback +Ƭ **NextCallback**: *function* +*Defined in [subproviders/src/types.ts:133](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L133)* +#### Type declaration: +▸ (`callback?`: [OnNextCompleted](#onnextcompleted)): *void* +**Parameters:** +Name | Type | +------ | ------ | +`callback?` | [OnNextCompleted](#onnextcompleted) | +___ +### OnNextCompleted +Ƭ **OnNextCompleted**: *function* +*Defined in [subproviders/src/types.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L132)* -## Type aliases - -### CoverageSubproviderPartialConfig - -Ƭ **CoverageSubproviderPartialConfig**: *`Partial`* - -*Defined in [sol-coverage/src/coverage_subprovider.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-coverage/src/coverage_subprovider.ts#L31)* - -## Object literals - -### `Const` DEFAULT_COVERAGE_SUBPROVIDER_CONFIG - -#### ▪ **DEFAULT_COVERAGE_SUBPROVIDER_CONFIG**: *object* - -*Defined in [sol-coverage/src/coverage_subprovider.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-coverage/src/coverage_subprovider.ts#L33)* - -#### ignoreFilesGlobs - -• **ignoreFilesGlobs**: *never[]* = [] - -*Defined in [sol-coverage/src/coverage_subprovider.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-coverage/src/coverage_subprovider.ts#L35)* +#### Type declaration: -#### isVerbose +▸ (`err`: `Error` | null, `result`: any, `cb`: [Callback](#callback)): *void* -• **isVerbose**: *boolean* = true +**Parameters:** -*Defined in [sol-coverage/src/coverage_subprovider.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-coverage/src/coverage_subprovider.ts#L34)* +Name | Type | +------ | ------ | +`err` | `Error` \| null | +`result` | any | +`cb` | [Callback](#callback) |
- - -
- - - -
- - - -
- diff --git a/packages/sol-coverage/package.json b/packages/sol-coverage/package.json index b52bcfed19..ce6f9f1164 100644 --- a/packages/sol-coverage/package.json +++ b/packages/sol-coverage/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-coverage", - "version": "3.0.12", + "version": "3.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -33,11 +33,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-coverage/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.19", - "@0x/subproviders": "^5.0.4", - "@0x/typescript-typings": "^4.3.0", + "@0x/sol-tracing-utils": "^6.1.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", "@types/minimatch": "^3.0.3", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "lodash": "^4.17.11", "minimatch": "^3.0.4", "web3-provider-engine": "14.0.6" diff --git a/packages/sol-doc/CHANGELOG.json b/packages/sol-doc/CHANGELOG.json index 4ccdbffda6..89ae9ceea5 100644 --- a/packages/sol-doc/CHANGELOG.json +++ b/packages/sol-doc/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "2.0.19", diff --git a/packages/sol-doc/CHANGELOG.md b/packages/sol-doc/CHANGELOG.md index 7aab6eb671..aeaf0294a3 100644 --- a/packages/sol-doc/CHANGELOG.md +++ b/packages/sol-doc/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v2.0.19 - _September 17, 2019_ * Dependencies updated diff --git a/packages/sol-doc/package.json b/packages/sol-doc/package.json index 5096b529e1..0aba6f92cb 100644 --- a/packages/sol-doc/package.json +++ b/packages/sol-doc/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-doc", - "version": "2.0.19", + "version": "2.1.0-beta.0", "description": "Solidity documentation generator", "main": "lib/src/index.js", "types": "lib/src/index.d.js", @@ -26,10 +26,10 @@ "author": "F. Eugene Aumson", "license": "Apache-2.0", "dependencies": { - "@0x/sol-compiler": "^3.1.15", - "@0x/types": "^2.4.3", - "@0x/utils": "^4.5.2", - "ethereum-types": "^2.1.6", + "@0x/sol-compiler": "^3.2.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", "yargs": "^10.0.3" diff --git a/packages/sol-profiler/CHANGELOG.json b/packages/sol-profiler/CHANGELOG.json index 3e1e74d13d..c8b7df531d 100644 --- a/packages/sol-profiler/CHANGELOG.json +++ b/packages/sol-profiler/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "3.2.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "3.1.14", diff --git a/packages/sol-profiler/CHANGELOG.md b/packages/sol-profiler/CHANGELOG.md index c9f559e2eb..24edb2152c 100644 --- a/packages/sol-profiler/CHANGELOG.md +++ b/packages/sol-profiler/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v3.2.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v3.1.14 - _September 17, 2019_ * Dependencies updated diff --git a/packages/sol-profiler/docs/reference.mdx b/packages/sol-profiler/docs/reference.mdx index e84992097c..a4182b1098 100644 --- a/packages/sol-profiler/docs/reference.mdx +++ b/packages/sol-profiler/docs/reference.mdx @@ -1,183 +1,231 @@ +# Class: ProfilerSubprovider +This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. +ProfilerSubprovider is used to profile Solidity code while running tests. -# Class: AbstractArtifactAdapter +## Constructors -## Methods -### `Abstract` collectContractsDataAsync -▸ **collectContractsDataAsync**(): *`Promise`* +\+ **new ProfilerSubprovider**(`artifactAdapter`: `AbstractArtifactAdapter`, `defaultFromAddress`: string, `isVerbose`: boolean): *[ProfilerSubprovider](#class-profilersubprovider)* -*Defined in [sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts#L4)* +*Overrides void* -**Returns:** *`Promise`* +*Defined in [sol-profiler/src/profiler_subprovider.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-profiler/src/profiler_subprovider.ts#L30)* -
+Instantiates a ProfilerSubprovider instance -# Class: SolCompilerArtifactAdapter +**Parameters:** +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`artifactAdapter` | `AbstractArtifactAdapter` | - | Adapter for used artifacts format (0x, truffle, giveth, etc.) | +`defaultFromAddress` | string | - | default from address to use when sending transactions | +`isVerbose` | boolean | true | If true, we will log any unknown transactions. Otherwise we will ignore them | -## Constructors +**Returns:** *[ProfilerSubprovider](#class-profilersubprovider)* +## Methods +### emitPayloadAsync -\+ **new SolCompilerArtifactAdapter**(`artifactsPath?`: undefined | string, `sourcesPath?`: undefined | string): *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L18)* -Instantiates a SolCompilerArtifactAdapter + +Defined in subproviders/lib/src/subproviders/subprovider.d.ts:25 + +Emits a JSON RPC payload that will then be handled by the ProviderEngine instance +this subprovider is a part of. The payload will cascade down the subprovider middleware +stack until finding the responsible entity for handling the request. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`artifactsPath?` | undefined \| string | Path to your artifacts directory | -`sourcesPath?` | undefined \| string | Path to your contract sources directory | +`payload` | `Partial` | JSON RPC payload | -**Returns:** *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +**Returns:** *`Promise`* -## Methods +JSON RPC response payload -### collectContractsDataAsync +___ -▸ **collectContractsDataAsync**(): *`Promise`* +### handleRequest -*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* +▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [NextCallback](#nextcallback), `_end`: [ErrorCallback](#errorcallback)): *`Promise`* -*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L44)* -**Returns:** *`Promise`* -
+*Overrides void* -# Class: TruffleArtifactAdapter +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:42 +This method conforms to the web3-provider-engine interface. +It is called internally by the ProviderEngine when it is this subproviders +turn to handle a JSON RPC request. -## Constructors +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`payload` | `JSONRPCRequestPayload` | JSON RPC payload | +`next` | [NextCallback](#nextcallback) | Callback to call if this subprovider decides not to handle the request | +`_end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | +**Returns:** *`Promise`* -\+ **new TruffleArtifactAdapter**(`projectRoot`: string, `solcVersion`: string): *[TruffleArtifactAdapter](#class-truffleartifactadapter)* +___ -*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:29](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L29)* +### setEngine -Instantiates a TruffleArtifactAdapter +▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* + + + +*Overrides void* + +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:49 + +Set's the subprovider's engine to the ProviderEngine it is added to. +This is only called within the ProviderEngine source code, do not call +directly. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`projectRoot` | string | Path to the truffle project's root directory | -`solcVersion` | string | Solidity version with which to compile all the contracts | - -**Returns:** *[TruffleArtifactAdapter](#class-truffleartifactadapter)* +`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | -## Methods +**Returns:** *void* -### collectContractsDataAsync +___ -▸ **collectContractsDataAsync**(): *`Promise`* +### start -*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* +▸ **start**(): *void* -*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L40)* -**Returns:** *`Promise`* -
+Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:29 +Starts trace collection +**Returns:** *void* +___ +### stop +▸ **stop**(): *void* +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:33 +Stops trace collection +**Returns:** *void* +___ +### writeProfilerOutputAsync +▸ **writeProfilerOutputAsync**(): *`Promise`* +*Defined in [sol-profiler/src/profiler_subprovider.ts:104](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-profiler/src/profiler_subprovider.ts#L104)* +Write the test profiler results to a file in Istanbul format. +**Returns:** *`Promise`* +
+# Class: AbstractArtifactAdapter -## Type aliases +## Methods -### Callback +### `Abstract` collectContractsDataAsync -Ƭ **Callback**: *function* +▸ **collectContractsDataAsync**(): *`Promise`* -*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L131)* +*Defined in [sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts#L4)* -#### Type declaration: +**Returns:** *`Promise`* -▸ (): *void* +
-___ +# Class: SolCompilerArtifactAdapter +## Constructors -### ErrorCallback -Ƭ **ErrorCallback**: *function* -*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L130)* +\+ **new SolCompilerArtifactAdapter**(`artifactsPath?`: undefined | string, `sourcesPath?`: undefined | string): *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* -#### Type declaration: +*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L18)* -▸ (`err`: `Error` | null, `data?`: any): *void* +Instantiates a SolCompilerArtifactAdapter **Parameters:** -Name | Type | ------- | ------ | -`err` | `Error` \| null | -`data?` | any | +Name | Type | Description | +------ | ------ | ------ | +`artifactsPath?` | undefined \| string | Path to your artifacts directory | +`sourcesPath?` | undefined \| string | Path to your contract sources directory | -___ +**Returns:** *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +## Methods +### collectContractsDataAsync -### NextCallback +▸ **collectContractsDataAsync**(): *`Promise`* -Ƭ **NextCallback**: *function* +*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* -*Defined in [subproviders/src/types.ts:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L133)* +*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L44)* -#### Type declaration: +**Returns:** *`Promise`* -▸ (`callback?`: [OnNextCompleted](#onnextcompleted)): *void* +
-**Parameters:** +# Class: TruffleArtifactAdapter -Name | Type | ------- | ------ | -`callback?` | [OnNextCompleted](#onnextcompleted) | -___ +## Constructors -### OnNextCompleted -Ƭ **OnNextCompleted**: *function* -*Defined in [subproviders/src/types.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L132)* +\+ **new TruffleArtifactAdapter**(`projectRoot`: string, `solcVersion`: string): *[TruffleArtifactAdapter](#class-truffleartifactadapter)* -#### Type declaration: +*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L29)* -▸ (`err`: `Error` | null, `result`: any, `cb`: [Callback](#callback)): *void* +Instantiates a TruffleArtifactAdapter **Parameters:** -Name | Type | ------- | ------ | -`err` | `Error` \| null | -`result` | any | -`cb` | [Callback](#callback) | +Name | Type | Description | +------ | ------ | ------ | +`projectRoot` | string | Path to the truffle project's root directory | +`solcVersion` | string | Solidity version with which to compile all the contracts | + +**Returns:** *[TruffleArtifactAdapter](#class-truffleartifactadapter)* + +## Methods + +### collectContractsDataAsync + +▸ **collectContractsDataAsync**(): *`Promise`* + +*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* + +*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L40)* + +**Returns:** *`Promise`*
@@ -218,6 +266,22 @@ Name | Type | + + + + + + + + + + + + + + + + @@ -244,7 +308,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -252,7 +316,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -260,7 +324,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -268,7 +332,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -281,7 +345,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -289,7 +353,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -302,7 +366,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -310,7 +374,7 @@ ___ • **id**: *number* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -318,7 +382,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -326,7 +390,7 @@ ___ • **result**: *any* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -359,184 +423,118 @@ ___ - -# Class: ProfilerSubprovider - -This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. -ProfilerSubprovider is used to profile Solidity code while running tests. - - -## Constructors -\+ **new ProfilerSubprovider**(`artifactAdapter`: `AbstractArtifactAdapter`, `defaultFromAddress`: string, `isVerbose`: boolean): *[ProfilerSubprovider](#class-profilersubprovider)* -*Overrides void* -*Defined in [sol-profiler/src/profiler_subprovider.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-profiler/src/profiler_subprovider.ts#L30)* -Instantiates a ProfilerSubprovider instance -**Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`artifactAdapter` | `AbstractArtifactAdapter` | - | Adapter for used artifacts format (0x, truffle, giveth, etc.) | -`defaultFromAddress` | string | - | default from address to use when sending transactions | -`isVerbose` | boolean | true | If true, we will log any unknown transactions. Otherwise we will ignore them | -**Returns:** *[ProfilerSubprovider](#class-profilersubprovider)* -## Methods -### emitPayloadAsync -▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -Defined in subproviders/lib/src/subproviders/subprovider.d.ts:25 -Emits a JSON RPC payload that will then be handled by the ProviderEngine instance -this subprovider is a part of. The payload will cascade down the subprovider middleware -stack until finding the responsible entity for handling the request. -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`payload` | `Partial` | JSON RPC payload | -**Returns:** *`Promise`* -JSON RPC response payload -___ -### handleRequest -▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [NextCallback](#nextcallback), `_end`: [ErrorCallback](#errorcallback)): *`Promise`* -*Overrides void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:42 -This method conforms to the web3-provider-engine interface. -It is called internally by the ProviderEngine when it is this subproviders -turn to handle a JSON RPC request. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`payload` | `JSONRPCRequestPayload` | JSON RPC payload | -`next` | [NextCallback](#nextcallback) | Callback to call if this subprovider decides not to handle the request | -`_end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | - -**Returns:** *`Promise`* - -___ - -### setEngine - -▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* + -*Overrides void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:49 -Set's the subprovider's engine to the ProviderEngine it is added to. -This is only called within the ProviderEngine source code, do not call -directly. -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | + -**Returns:** *void* + -___ -### start -▸ **start**(): *void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:29 -Starts trace collection + -**Returns:** *void* -___ -### stop -▸ **stop**(): *void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:33 -Stops trace collection -**Returns:** *void* -___ -### writeProfilerOutputAsync -▸ **writeProfilerOutputAsync**(): *`Promise`* -*Defined in [sol-profiler/src/profiler_subprovider.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-profiler/src/profiler_subprovider.ts#L104)* -Write the test profiler results to a file in Istanbul format. -**Returns:** *`Promise`* +# Interface: JSONRPCRequestPayloadWithMethod -
+## Properties +### id +• **id**: *number* +Defined in ethereum-types/lib/index.d.ts:267 +___ +### jsonrpc +• **jsonrpc**: *string* +Defined in ethereum-types/lib/index.d.ts:268 +___ +### method +• **method**: *string* +*Overrides void* +*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L136)* +___ +### params +• **params**: *any[]* +Defined in ethereum-types/lib/index.d.ts:265 +
- - - @@ -544,7 +542,6 @@ Write the test profiler results to a file in Istanbul format. - @@ -560,50 +557,32 @@ Write the test profiler results to a file in Istanbul format. -# Interface: JSONRPCRequestPayloadWithMethod -## Properties -### id -• **id**: *number* +## Type aliases -Defined in ethereum-types/lib/index.d.ts:262 -___ -### jsonrpc -• **jsonrpc**: *string* -Defined in ethereum-types/lib/index.d.ts:263 -___ -### method -• **method**: *string* -*Overrides void* -*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L136)* -___ -### params -• **params**: *any[]* -Defined in ethereum-types/lib/index.d.ts:260 -
@@ -628,25 +607,43 @@ Defined in ethereum-types/lib/index.d.ts:260 +## Functions +### `Const` profilerHandler +▸ **profilerHandler**(`contractData`: `ContractData`, `subtrace`: [Subtrace](#subtrace), `pcToSourceRange`: object, `fileIndex`: number): *`Coverage`* +*Defined in [sol-profiler/src/profiler_subprovider.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-profiler/src/profiler_subprovider.ts#L118)* +Computed partial coverage for a single file & subtrace for the purposes of +gas profiling. +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`contractData` | `ContractData` | Contract metadata (source, srcMap, bytecode) | +`subtrace` | [Subtrace](#subtrace) | A subset of a transcation/call trace that was executed within that contract | +`pcToSourceRange` | object | A mapping from program counters to source ranges | +`fileIndex` | number | Index of a file to compute coverage for | +**Returns:** *`Coverage`* +Partial istanbul coverage for that file & subtrace +
-## Type aliases +
+
+
@@ -664,71 +661,78 @@ Defined in ethereum-types/lib/index.d.ts:260 +## Type aliases +### Callback +Ƭ **Callback**: *function* +*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L131)* +#### Type declaration: +▸ (): *void* +___ +### ErrorCallback +Ƭ **ErrorCallback**: *function* +*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L130)* +#### Type declaration: +▸ (`err`: `Error` | null, `data?`: any): *void* +**Parameters:** +Name | Type | +------ | ------ | +`err` | `Error` \| null | +`data?` | any | +___ +### NextCallback +Ƭ **NextCallback**: *function* +*Defined in [subproviders/src/types.ts:133](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L133)* +#### Type declaration: +▸ (`callback?`: [OnNextCompleted](#onnextcompleted)): *void* +**Parameters:** +Name | Type | +------ | ------ | +`callback?` | [OnNextCompleted](#onnextcompleted) | +___ +### OnNextCompleted +Ƭ **OnNextCompleted**: *function* +*Defined in [subproviders/src/types.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L132)* -## Functions - -### `Const` profilerHandler - -▸ **profilerHandler**(`contractData`: `ContractData`, `subtrace`: [Subtrace](#subtrace), `pcToSourceRange`: object, `fileIndex`: number): *`Coverage`* - -*Defined in [sol-profiler/src/profiler_subprovider.ts:118](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-profiler/src/profiler_subprovider.ts#L118)* +#### Type declaration: -Computed partial coverage for a single file & subtrace for the purposes of -gas profiling. +▸ (`err`: `Error` | null, `result`: any, `cb`: [Callback](#callback)): *void* **Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`contractData` | `ContractData` | Contract metadata (source, srcMap, bytecode) | -`subtrace` | [Subtrace](#subtrace) | A subset of a transcation/call trace that was executed within that contract | -`pcToSourceRange` | object | A mapping from program counters to source ranges | -`fileIndex` | number | Index of a file to compute coverage for | - -**Returns:** *`Coverage`* - -Partial istanbul coverage for that file & subtrace +Name | Type | +------ | ------ | +`err` | `Error` \| null | +`result` | any | +`cb` | [Callback](#callback) |
- - -
- - - -
- - - -
- diff --git a/packages/sol-profiler/package.json b/packages/sol-profiler/package.json index 26ecdc3679..d5bef0151f 100644 --- a/packages/sol-profiler/package.json +++ b/packages/sol-profiler/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-profiler", - "version": "3.1.14", + "version": "3.2.0-beta.0", "engines": { "node": ">=6.12" }, @@ -33,11 +33,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-profiler/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.19", - "@0x/subproviders": "^5.0.4", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "ethereum-types": "^2.1.6", + "@0x/sol-tracing-utils": "^6.1.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", "web3-provider-engine": "14.0.6" diff --git a/packages/sol-resolver/CHANGELOG.json b/packages/sol-resolver/CHANGELOG.json index 14411c27e5..d8bbdd3b4d 100644 --- a/packages/sol-resolver/CHANGELOG.json +++ b/packages/sol-resolver/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "2.0.11", diff --git a/packages/sol-resolver/CHANGELOG.md b/packages/sol-resolver/CHANGELOG.md index 602f3fc536..b5d9e90583 100644 --- a/packages/sol-resolver/CHANGELOG.md +++ b/packages/sol-resolver/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v2.0.11 - _September 17, 2019_ * Dependencies updated diff --git a/packages/sol-resolver/package.json b/packages/sol-resolver/package.json index e3efd5ebeb..d41ad1caec 100644 --- a/packages/sol-resolver/package.json +++ b/packages/sol-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-resolver", - "version": "2.0.11", + "version": "2.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -31,8 +31,8 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", "lodash": "^4.17.11" }, "publishConfig": { diff --git a/packages/sol-trace/CHANGELOG.json b/packages/sol-trace/CHANGELOG.json index f8148e7a7d..b5dc26f1b7 100644 --- a/packages/sol-trace/CHANGELOG.json +++ b/packages/sol-trace/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "2.0.20", diff --git a/packages/sol-trace/CHANGELOG.md b/packages/sol-trace/CHANGELOG.md index 3b7f6ed623..f111048b0e 100644 --- a/packages/sol-trace/CHANGELOG.md +++ b/packages/sol-trace/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v2.0.20 - _September 17, 2019_ * Dependencies updated diff --git a/packages/sol-trace/docs/reference.mdx b/packages/sol-trace/docs/reference.mdx index f772daa506..da74c459cd 100644 --- a/packages/sol-trace/docs/reference.mdx +++ b/packages/sol-trace/docs/reference.mdx @@ -1,185 +1,237 @@ +# Class: RevertTraceSubprovider +This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. +It is used to report call stack traces whenever a revert occurs. -# Class: AbstractArtifactAdapter +## Constructors -## Methods -### `Abstract` collectContractsDataAsync -▸ **collectContractsDataAsync**(): *`Promise`* +\+ **new RevertTraceSubprovider**(`artifactAdapter`: `AbstractArtifactAdapter`, `defaultFromAddress`: string, `isVerbose`: boolean): *[RevertTraceSubprovider](#class-reverttracesubprovider)* -*Defined in [sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts#L4)* +*Overrides void* -**Returns:** *`Promise`* +*Defined in [sol-trace/src/revert_trace_subprovider.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-trace/src/revert_trace_subprovider.ts#L27)* -
+Instantiates a RevertTraceSubprovider instance -# Class: SolCompilerArtifactAdapter +**Parameters:** +Name | Type | Default | Description | +------ | ------ | ------ | ------ | +`artifactAdapter` | `AbstractArtifactAdapter` | - | Adapter for used artifacts format (0x, truffle, giveth, etc.) | +`defaultFromAddress` | string | - | default from address to use when sending transactions | +`isVerbose` | boolean | true | If true, we will log any unknown transactions. Otherwise we will ignore them | -## Constructors +**Returns:** *[RevertTraceSubprovider](#class-reverttracesubprovider)* +## Methods +### emitPayloadAsync -\+ **new SolCompilerArtifactAdapter**(`artifactsPath?`: undefined | string, `sourcesPath?`: undefined | string): *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L18)* -Instantiates a SolCompilerArtifactAdapter + +Defined in subproviders/lib/src/subproviders/subprovider.d.ts:25 + +Emits a JSON RPC payload that will then be handled by the ProviderEngine instance +this subprovider is a part of. The payload will cascade down the subprovider middleware +stack until finding the responsible entity for handling the request. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`artifactsPath?` | undefined \| string | Path to your artifacts directory | -`sourcesPath?` | undefined \| string | Path to your contract sources directory | +`payload` | `Partial` | JSON RPC payload | -**Returns:** *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +**Returns:** *`Promise`* -## Methods +JSON RPC response payload -### collectContractsDataAsync +___ -▸ **collectContractsDataAsync**(): *`Promise`* +### handleRequest -*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* +▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [NextCallback](#nextcallback), `_end`: [ErrorCallback](#errorcallback)): *`Promise`* -*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L44)* -**Returns:** *`Promise`* -
+*Overrides void* -# Class: TruffleArtifactAdapter +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:42 +This method conforms to the web3-provider-engine interface. +It is called internally by the ProviderEngine when it is this subproviders +turn to handle a JSON RPC request. -## Constructors +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`payload` | `JSONRPCRequestPayload` | JSON RPC payload | +`next` | [NextCallback](#nextcallback) | Callback to call if this subprovider decides not to handle the request | +`_end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | +**Returns:** *`Promise`* -\+ **new TruffleArtifactAdapter**(`projectRoot`: string, `solcVersion`: string): *[TruffleArtifactAdapter](#class-truffleartifactadapter)* +___ -*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:29](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L29)* +### setEngine -Instantiates a TruffleArtifactAdapter +▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* + + + +*Overrides void* + +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:49 + +Set's the subprovider's engine to the ProviderEngine it is added to. +This is only called within the ProviderEngine source code, do not call +directly. **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`projectRoot` | string | Path to the truffle project's root directory | -`solcVersion` | string | Solidity version with which to compile all the contracts | +`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | -**Returns:** *[TruffleArtifactAdapter](#class-truffleartifactadapter)* +**Returns:** *void* -## Methods +___ -### collectContractsDataAsync +### start -▸ **collectContractsDataAsync**(): *`Promise`* +▸ **start**(): *void* -*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* -*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L40)* -**Returns:** *`Promise`* +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:29 + +Starts trace collection + +**Returns:** *void* + +___ + +### stop + +▸ **stop**(): *void* + + + +Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:33 + +Stops trace collection + +**Returns:** *void*
+# Class: AbstractArtifactAdapter +## Methods +### `Abstract` collectContractsDataAsync +▸ **collectContractsDataAsync**(): *`Promise`* +*Defined in [sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts:4](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/abstract_artifact_adapter.ts#L4)* +**Returns:** *`Promise`* +
+# Class: SolCompilerArtifactAdapter +## Constructors +\+ **new SolCompilerArtifactAdapter**(`artifactsPath?`: undefined | string, `sourcesPath?`: undefined | string): *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* +*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L18)* +Instantiates a SolCompilerArtifactAdapter +**Parameters:** +Name | Type | Description | +------ | ------ | ------ | +`artifactsPath?` | undefined \| string | Path to your artifacts directory | +`sourcesPath?` | undefined \| string | Path to your contract sources directory | +**Returns:** *[SolCompilerArtifactAdapter](#class-solcompilerartifactadapter)* -## Type aliases +## Methods -### Callback +### collectContractsDataAsync -Ƭ **Callback**: *function* +▸ **collectContractsDataAsync**(): *`Promise`* -*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L131)* +*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* -#### Type declaration: +*Defined in [sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts#L44)* -▸ (): *void* +**Returns:** *`Promise`* -___ +
+# Class: TruffleArtifactAdapter -### ErrorCallback +## Constructors -Ƭ **ErrorCallback**: *function* -*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L130)* -#### Type declaration: +\+ **new TruffleArtifactAdapter**(`projectRoot`: string, `solcVersion`: string): *[TruffleArtifactAdapter](#class-truffleartifactadapter)* -▸ (`err`: `Error` | null, `data?`: any): *void* +*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L29)* + +Instantiates a TruffleArtifactAdapter **Parameters:** -Name | Type | ------- | ------ | -`err` | `Error` \| null | -`data?` | any | +Name | Type | Description | +------ | ------ | ------ | +`projectRoot` | string | Path to the truffle project's root directory | +`solcVersion` | string | Solidity version with which to compile all the contracts | -___ +**Returns:** *[TruffleArtifactAdapter](#class-truffleartifactadapter)* +## Methods +### collectContractsDataAsync + +▸ **collectContractsDataAsync**(): *`Promise`* + +*Overrides [AbstractArtifactAdapter](_sol_tracing_utils_src_artifact_adapters_abstract_artifact_adapter_.abstractartifactadapter.md).[collectContractsDataAsync](#abstract-collectcontractsdataasync)* + +*Defined in [sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/sol-tracing-utils/src/artifact_adapters/truffle_artifact_adapter.ts#L40)* + +**Returns:** *`Promise`* + +
-### NextCallback -Ƭ **NextCallback**: *function* -*Defined in [subproviders/src/types.ts:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L133)* -#### Type declaration: -▸ (`callback?`: [OnNextCompleted](#onnextcompleted)): *void* -**Parameters:** -Name | Type | ------- | ------ | -`callback?` | [OnNextCompleted](#onnextcompleted) | -___ -### OnNextCompleted -Ƭ **OnNextCompleted**: *function* -*Defined in [subproviders/src/types.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L132)* -#### Type declaration: -▸ (`err`: `Error` | null, `result`: any, `cb`: [Callback](#callback)): *void* -**Parameters:** -Name | Type | ------- | ------ | -`err` | `Error` \| null | -`result` | any | -`cb` | [Callback](#callback) | -
@@ -244,7 +296,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -252,7 +304,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -260,7 +312,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -268,7 +320,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -281,7 +333,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -289,7 +341,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -302,7 +354,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -310,7 +362,7 @@ ___ • **id**: *number* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -318,7 +370,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -326,7 +378,7 @@ ___ • **result**: *any* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -360,171 +412,119 @@ ___ -# Class: RevertTraceSubprovider -This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. -It is used to report call stack traces whenever a revert occurs. -## Constructors -\+ **new RevertTraceSubprovider**(`artifactAdapter`: `AbstractArtifactAdapter`, `defaultFromAddress`: string, `isVerbose`: boolean): *[RevertTraceSubprovider](#class-reverttracesubprovider)* -*Overrides void* -*Defined in [sol-trace/src/revert_trace_subprovider.ts:27](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/sol-trace/src/revert_trace_subprovider.ts#L27)* -Instantiates a RevertTraceSubprovider instance -**Parameters:** -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`artifactAdapter` | `AbstractArtifactAdapter` | - | Adapter for used artifacts format (0x, truffle, giveth, etc.) | -`defaultFromAddress` | string | - | default from address to use when sending transactions | -`isVerbose` | boolean | true | If true, we will log any unknown transactions. Otherwise we will ignore them | -**Returns:** *[RevertTraceSubprovider](#class-reverttracesubprovider)* -## Methods - -### emitPayloadAsync - -▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -Defined in subproviders/lib/src/subproviders/subprovider.d.ts:25 -Emits a JSON RPC payload that will then be handled by the ProviderEngine instance -this subprovider is a part of. The payload will cascade down the subprovider middleware -stack until finding the responsible entity for handling the request. - -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`payload` | `Partial` | JSON RPC payload | -**Returns:** *`Promise`* -JSON RPC response payload -___ -### handleRequest -▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [NextCallback](#nextcallback), `_end`: [ErrorCallback](#errorcallback)): *`Promise`* -*Overrides void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:42 -This method conforms to the web3-provider-engine interface. -It is called internally by the ProviderEngine when it is this subproviders -turn to handle a JSON RPC request. + -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`payload` | `JSONRPCRequestPayload` | JSON RPC payload | -`next` | [NextCallback](#nextcallback) | Callback to call if this subprovider decides not to handle the request | -`_end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | -**Returns:** *`Promise`* -___ -### setEngine + -▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* + -*Overrides void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:49 -Set's the subprovider's engine to the ProviderEngine it is added to. -This is only called within the ProviderEngine source code, do not call -directly. -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | + -**Returns:** *void* -___ -### start -▸ **start**(): *void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:29 -Starts trace collection -**Returns:** *void* -___ -### stop -▸ **stop**(): *void* -Defined in sol-tracing-utils/lib/src/trace_collection_subprovider.d.ts:33 +# Interface: JSONRPCRequestPayloadWithMethod -Stops trace collection -**Returns:** *void* +## Properties -
+### id +• **id**: *number* +Defined in ethereum-types/lib/index.d.ts:267 +___ +### jsonrpc +• **jsonrpc**: *string* +Defined in ethereum-types/lib/index.d.ts:268 +___ +### method +• **method**: *string* +*Overrides void* +*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L136)* +___ +### params +• **params**: *any[]* +Defined in ethereum-types/lib/index.d.ts:265 +
- - - @@ -532,7 +532,6 @@ Stops trace collection - @@ -548,50 +547,32 @@ Stops trace collection -# Interface: JSONRPCRequestPayloadWithMethod -## Properties -### id +## Type aliases -• **id**: *number* -Defined in ethereum-types/lib/index.d.ts:262 -___ -### jsonrpc -• **jsonrpc**: *string* -Defined in ethereum-types/lib/index.d.ts:263 -___ -### method -• **method**: *string* -*Overrides void* -*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L136)* -___ -### params -• **params**: *any[]* -Defined in ethereum-types/lib/index.d.ts:260 -
@@ -613,15 +594,19 @@ Defined in ethereum-types/lib/index.d.ts:260 +
+
+
+
@@ -641,57 +626,76 @@ Defined in ethereum-types/lib/index.d.ts:260 ## Type aliases +### Callback +Ƭ **Callback**: *function* +*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L131)* +#### Type declaration: +▸ (): *void* +___ +### ErrorCallback +Ƭ **ErrorCallback**: *function* +*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L130)* +#### Type declaration: +▸ (`err`: `Error` | null, `data?`: any): *void* +**Parameters:** +Name | Type | +------ | ------ | +`err` | `Error` \| null | +`data?` | any | +___ +### NextCallback +Ƭ **NextCallback**: *function* +*Defined in [subproviders/src/types.ts:133](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L133)* +#### Type declaration: +▸ (`callback?`: [OnNextCompleted](#onnextcompleted)): *void* +**Parameters:** +Name | Type | +------ | ------ | +`callback?` | [OnNextCompleted](#onnextcompleted) | +___ +### OnNextCompleted +Ƭ **OnNextCompleted**: *function* +*Defined in [subproviders/src/types.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L132)* +#### Type declaration: +▸ (`err`: `Error` | null, `result`: any, `cb`: [Callback](#callback)): *void* +**Parameters:** +Name | Type | +------ | ------ | +`err` | `Error` \| null | +`result` | any | +`cb` | [Callback](#callback) | - - - - - - - -
- - - -
- - - -
- - - -
+
diff --git a/packages/sol-trace/package.json b/packages/sol-trace/package.json index 4d3d5b797b..5550e1a069 100644 --- a/packages/sol-trace/package.json +++ b/packages/sol-trace/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-trace", - "version": "2.0.20", + "version": "2.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -33,11 +33,11 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-trace/README.md", "dependencies": { - "@0x/sol-tracing-utils": "^6.0.19", - "@0x/subproviders": "^5.0.4", - "@0x/typescript-typings": "^4.3.0", + "@0x/sol-tracing-utils": "^6.1.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", "chalk": "^2.3.0", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "lodash": "^4.17.11", "loglevel": "^1.6.1", diff --git a/packages/sol-tracing-utils/CHANGELOG.json b/packages/sol-tracing-utils/CHANGELOG.json index 5f1b5ae83c..9996466552 100644 --- a/packages/sol-tracing-utils/CHANGELOG.json +++ b/packages/sol-tracing-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "6.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "6.0.19", diff --git a/packages/sol-tracing-utils/CHANGELOG.md b/packages/sol-tracing-utils/CHANGELOG.md index 162b2257f0..30f7884801 100644 --- a/packages/sol-tracing-utils/CHANGELOG.md +++ b/packages/sol-tracing-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v6.0.19 - _September 17, 2019_ * Dependencies updated diff --git a/packages/sol-tracing-utils/package.json b/packages/sol-tracing-utils/package.json index 78c623b445..02b3a19356 100644 --- a/packages/sol-tracing-utils/package.json +++ b/packages/sol-tracing-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sol-tracing-utils", - "version": "6.0.19", + "version": "6.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -38,16 +38,16 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sol-tracing-utils/README.md", "dependencies": { - "@0x/dev-utils": "^2.3.3", - "@0x/sol-compiler": "^3.1.15", - "@0x/sol-resolver": "^2.0.11", - "@0x/subproviders": "^5.0.4", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/dev-utils": "^2.4.0-beta.0", + "@0x/sol-compiler": "^3.2.0-beta.0", + "@0x/sol-resolver": "^2.1.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@types/solidity-parser-antlr": "^0.2.3", "chalk": "^2.3.0", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", "glob": "^7.1.2", diff --git a/packages/sra-spec/.discharge.json b/packages/sra-spec/.discharge.json index 80ede84f36..8985f07e87 100644 --- a/packages/sra-spec/.discharge.json +++ b/packages/sra-spec/.discharge.json @@ -1,6 +1,6 @@ { - "domain": "sra-spec", - "build_command": "yarn build-json", + "domain": "sra3-spec", + "build_command": "yarn build", "upload_directory": "public", "index_key": "index.html", "error_key": "index.html", diff --git a/packages/sra-spec/CHANGELOG.json b/packages/sra-spec/CHANGELOG.json index 6e631296b9..b6085d18d7 100644 --- a/packages/sra-spec/CHANGELOG.json +++ b/packages/sra-spec/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "2.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "2.0.17", diff --git a/packages/sra-spec/CHANGELOG.md b/packages/sra-spec/CHANGELOG.md index 5932d6110e..066e399a61 100644 --- a/packages/sra-spec/CHANGELOG.md +++ b/packages/sra-spec/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v2.0.17 - _September 17, 2019_ * Dependencies updated diff --git a/packages/sra-spec/package.json b/packages/sra-spec/package.json index 94f93e11ea..58942beb49 100644 --- a/packages/sra-spec/package.json +++ b/packages/sra-spec/package.json @@ -1,6 +1,6 @@ { "name": "@0x/sra-spec", - "version": "2.0.17", + "version": "2.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -35,7 +35,7 @@ }, "homepage": "https://github.com/0xProject/0x-monorepo/packages/sra-spec/README.md", "dependencies": { - "@0x/json-schemas": "^4.0.2", + "@0x/json-schemas": "^4.1.0-beta.0", "@loopback/openapi-v3-types": "^0.8.2" }, "devDependencies": { diff --git a/packages/sra-spec/public/index.html b/packages/sra-spec/public/index.html index 5271b50c68..e334c6749c 100644 --- a/packages/sra-spec/public/index.html +++ b/packages/sra-spec/public/index.html @@ -1,24 +1,27 @@ - - 0x Standard Relayer API - - - - - + + + + + - - - - - - + + + + + + + + diff --git a/packages/sra-spec/src/api.ts b/packages/sra-spec/src/api.ts index 37a6677816..fdfb9548b5 100644 --- a/packages/sra-spec/src/api.ts +++ b/packages/sra-spec/src/api.ts @@ -9,7 +9,7 @@ import { generateResponses } from './responses'; export const api: OpenApiSpec = { openapi: '3.0.0', info: { - version: '2.0.0', + version: '3.0.0', title: 'Standard Relayer REST API', description: md.introduction, license: { @@ -18,7 +18,7 @@ export const api: OpenApiSpec = { }, }, paths: { - '/v2/asset_pairs': { + '/v3/asset_pairs': { get: { description: 'Retrieves a list of available asset pairs and the information required to trade them (in any order). Setting only `assetDataA` or `assetDataB` returns pairs filtered by that asset only.', @@ -53,7 +53,7 @@ export const api: OpenApiSpec = { ), }, }, - '/v2/orders': { + '/v3/orders': { get: { description: 'Retrieves a list of orders given query parameters. This endpoint should be [paginated](#section/Pagination). For querying an entire orderbook snapshot, the [orderbook endpoint](#operation/getOrderbook) is recommended. If both makerAssetData and takerAssetData are specified, returned orders will be sorted by price determined by (takerTokenAmount/makerTokenAmount) in ascending order. By default, orders returned by this endpoint are unsorted.', @@ -99,7 +99,7 @@ export const api: OpenApiSpec = { { name: 'exchangeAddress', in: 'query', - description: `Same as exchangeAddress in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as exchangeAddress in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/addressSchema', @@ -108,7 +108,7 @@ export const api: OpenApiSpec = { { name: 'senderAddress', in: 'query', - description: `Same as senderAddress in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as senderAddress in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/addressSchema', @@ -117,7 +117,7 @@ export const api: OpenApiSpec = { { name: 'makerAssetData', in: 'query', - description: `Same as makerAssetData in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as makerAssetData in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/hexSchema', @@ -126,7 +126,7 @@ export const api: OpenApiSpec = { { name: 'takerAssetData', in: 'query', - description: `Same as takerAssetData in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as takerAssetData in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/hexSchema', @@ -135,7 +135,7 @@ export const api: OpenApiSpec = { { name: 'traderAssetData', in: 'query', - description: `Same as traderAssetData in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as traderAssetData in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/hexSchema', @@ -144,7 +144,7 @@ export const api: OpenApiSpec = { { name: 'makerAddress', in: 'query', - description: `Same as makerAddress in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as makerAddress in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/addressSchema', @@ -153,7 +153,7 @@ export const api: OpenApiSpec = { { name: 'takerAddress', in: 'query', - description: `Same as takerAddress in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as takerAddress in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/addressSchema', @@ -162,7 +162,7 @@ export const api: OpenApiSpec = { { name: 'traderAddress', in: 'query', - description: `Same as traderAddress in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as traderAddress in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/addressSchema', @@ -171,12 +171,30 @@ export const api: OpenApiSpec = { { name: 'feeRecipientAddress', in: 'query', - description: `Same as feeRecipientAddress in the [0x Protocol v2 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#order-message-format)`, + description: `Same as feeRecipientAddress in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, example: '0xe41d2489571d322189246dafa5ebde1f4699f498', schema: { $ref: '#/components/schemas/addressSchema', }, }, + { + name: 'makerFeeAssetData', + in: 'query', + description: `Same as makerFeeAssetData in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, + example: '0xe41d2489571d322189246dafa5ebde1f4699f498', + schema: { + $ref: '#/components/schemas/hexSchema', + }, + }, + { + name: 'takerFeeAssetData', + in: 'query', + description: `Same as takerFeeAssetData in the [0x Protocol v3 Specification](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#order-message-format)`, + example: '0xe41d2489571d322189246dafa5ebde1f4699f498', + schema: { + $ref: '#/components/schemas/hexSchema', + }, + }, ], true, ), @@ -187,7 +205,7 @@ export const api: OpenApiSpec = { ), }, }, - '/v2/order/{orderHash}': { + '/v3/order/{orderHash}': { get: { description: 'Retrieves the 0x order with meta info that is associated with the hash.', operationId: 'getOrder', @@ -212,7 +230,7 @@ export const api: OpenApiSpec = { ), }, }, - '/v2/orderbook': { + '/v3/orderbook': { get: { description: `Retrieves the orderbook for a given asset pair. This endpoint should be [paginated](#section/Pagination). Bids will be sorted in descending order by price, and asks will be sorted in ascending order by price. Within the price sorted orders, the orders are further sorted by _taker fee price_ which is defined as the **takerFee** divided by **takerTokenAmount**. After _taker fee price_, orders are to be sorted by expiration in ascending order. The way pagination works for this endpoint is that the **page** and **perPage** query params apply to both \`bids\` and \`asks\` collections, and if \`page\` * \`perPage\` > \`total\` for a certain collection, the \`records\` for that collection should just be empty. `, operationId: 'getOrderbook', @@ -248,9 +266,9 @@ export const api: OpenApiSpec = { ), }, }, - '/v2/order_config': { + '/v3/order_config': { post: { - description: `Relayers have full discretion over the orders that they are willing to host on their orderbooks (e.g what fees they charge, etc...). In order for traders to discover their requirements programmatically, they can send an incomplete order to this endpoint and receive the missing fields, specifc to that order. This gives relayers a large amount of flexibility to tailor fees to unique traders, trading pairs and volume amounts. Submit a partial order and receive information required to complete the order: \`senderAddress\`, \`feeRecipientAddress\`, \`makerFee\`, \`takerFee\`. `, + description: `Relayers have full discretion over the orders that they are willing to host on their orderbooks (e.g what fees they charge, etc...). In order for traders to discover their requirements programmatically, they can send an incomplete order to this endpoint and receive the missing fields, specifc to that order. This gives relayers a large amount of flexibility to tailor fees to unique traders, trading pairs and volume amounts. Submit a partial order and receive information required to complete the order: \`senderAddress\`, \`feeRecipientAddress\`, \`makerFee\`, \`takerFee\`, \`makerFeeAssetData\`, \`takerFeeAssetData\`. `, operationId: 'getOrderConfig', parameters: generateParameters([], false), requestBody: { @@ -272,7 +290,7 @@ export const api: OpenApiSpec = { ), }, }, - '/v2/fee_recipients': { + '/v3/fee_recipients': { get: { description: `Retrieves a collection of all fee recipient addresses for a relayer. This endpoint should be [paginated](#section/Pagination).`, operationId: 'getFeeRecipients', @@ -284,7 +302,7 @@ export const api: OpenApiSpec = { ), }, }, - '/v2/order': { + '/v3/order': { post: { description: `Submit a signed order to the relayer.`, operationId: 'postOrder', diff --git a/packages/sra-spec/src/examples/relayerApiOrder.ts b/packages/sra-spec/src/examples/relayerApiOrder.ts index e3ae66dc35..a2851943b2 100644 --- a/packages/sra-spec/src/examples/relayerApiOrder.ts +++ b/packages/sra-spec/src/examples/relayerApiOrder.ts @@ -13,8 +13,11 @@ export const relayerApiOrder = { makerAssetData: '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', takerAssetData: '0x02571792000000000000000000000000371b13d97f4bf77d724e78c16b7dc74099f40e840000000000000000000000000000000000000000000000000000000000000063', + makerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', + takerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', exchangeAddress: '0x12459c951127e0c374ff9105dda097662a027093', signature: '0x012761a3ed31b43c8780e905a260a35faefcc527be7516aa11c0256729b5b351bc33', + chainId: 1, }, metaData: {}, }; diff --git a/packages/sra-spec/src/examples/relayerApiOrderConfigResponse.ts b/packages/sra-spec/src/examples/relayerApiOrderConfigResponse.ts index a3c531c0a2..ec43c9f05a 100644 --- a/packages/sra-spec/src/examples/relayerApiOrderConfigResponse.ts +++ b/packages/sra-spec/src/examples/relayerApiOrderConfigResponse.ts @@ -3,4 +3,6 @@ export const relayerApiOrderConfigResponse = { feeRecipientAddress: '0xb046140686d052fff581f63f8136cce132e857da', makerFee: '100000000000000', takerFee: '200000000000000', + makerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', + takerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', }; diff --git a/packages/sra-spec/src/examples/relayerApiOrderbookResponse.ts b/packages/sra-spec/src/examples/relayerApiOrderbookResponse.ts index 7f07726498..ab9825cdbd 100644 --- a/packages/sra-spec/src/examples/relayerApiOrderbookResponse.ts +++ b/packages/sra-spec/src/examples/relayerApiOrderbookResponse.ts @@ -19,8 +19,11 @@ export const relayerApiOrderbookResponse = { makerAssetData: '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', takerAssetData: '0x02571792000000000000000000000000371b13d97f4bf77d724e78c16b7dc74099f40e840000000000000000000000000000000000000000000000000000000000000063', + makerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', + takerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', exchangeAddress: '0x12459c951127e0c374ff9105dda097662a027093', signature: '0x012761a3ed31b43c8780e905a260a35faefcc527be7516aa11c0256729b5b351bc33', + chainId: 1, }, metaData: {}, }, @@ -48,6 +51,7 @@ export const relayerApiOrderbookResponse = { takerAssetData: '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', exchangeAddress: '0x12459c951127e0c374ff9105dda097662a027093', signature: '0x013842a3ed31b43c8780e905a260a35faefcc527be7516aa11c0256729b5b3518891', + chainId: 1, }, metaData: {}, }, diff --git a/packages/sra-spec/src/examples/relayerApiOrdersResponse.ts b/packages/sra-spec/src/examples/relayerApiOrdersResponse.ts index eb66b8e81f..d5f64d6215 100644 --- a/packages/sra-spec/src/examples/relayerApiOrdersResponse.ts +++ b/packages/sra-spec/src/examples/relayerApiOrdersResponse.ts @@ -18,8 +18,11 @@ export const relayerApiOrdersResponse = { makerAssetData: '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', takerAssetData: '0x02571792000000000000000000000000371b13d97f4bf77d724e78c16b7dc74099f40e840000000000000000000000000000000000000000000000000000000000000063', + makerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', + takerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', exchangeAddress: '0x12459c951127e0c374ff9105dda097662a027093', signature: '0x012761a3ed31b43c8780e905a260a35faefcc527be7516aa11c0256729b5b351bc33', + chainId: 1, }, metaData: {}, }, diff --git a/packages/sra-spec/src/examples/signedOrder.ts b/packages/sra-spec/src/examples/signedOrder.ts index 8513c398fd..c901da2909 100644 --- a/packages/sra-spec/src/examples/signedOrder.ts +++ b/packages/sra-spec/src/examples/signedOrder.ts @@ -12,6 +12,9 @@ export const signedOrder = { makerAssetData: '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', takerAssetData: '0x02571792000000000000000000000000371b13d97f4bf77d724e78c16b7dc74099f40e840000000000000000000000000000000000000000000000000000000000000063', + makerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', + takerFeeAssetData: '0xf47261b04c32345ced77393b3530b1eed0f346429d', exchangeAddress: '0x12459c951127e0c374ff9105dda097662a027093', signature: '0x012761a3ed31b43c8780e905a260a35faefcc527be7516aa11c0256729b5b351bc33', + chainId: 1, }; diff --git a/packages/sra-spec/src/md/introduction.md b/packages/sra-spec/src/md/introduction.md index 2ab7786eef..f851f200dc 100644 --- a/packages/sra-spec/src/md/introduction.md +++ b/packages/sra-spec/src/md/introduction.md @@ -25,21 +25,21 @@ const validatorResult: ValidatorResult = validator.validate(tokenPairsResponse, Requests that return potentially large collections should respond to the **?page** and **?perPage** parameters. For example: ```bash -$ curl https://api.example-relayer.com/v2/asset_pairs?page=3&perPage=20 +$ curl https://api.example-relayer.com/v3/asset_pairs?page=3&perPage=20 ``` Page numbering should be 1-indexed, not 0-indexed. If a query provides an unreasonable (ie. too high) `perPage` value, the response can return a validation error as specified in the [errors section](#section/Errors). If the query specifies a `page` that does not exist (ie. there are not enough `records`), the response should just return an empty `records` array. All endpoints that are paginated should return a `total`, `page`, `perPage` and a `records` value in the top level of the collection. The value of `total` should be the total number of records for a given query, whereas `records` should be an array representing the response to the query for that page. `page` and `perPage`, are the same values that were specified in the request. See the note in [miscellaneous](#section/Misc.) about formatting `snake_case` vs. `lowerCamelCase`. -These requests include the [`/v2/asset_pairs`](#operation/getAssetPairs), [`/v2/orders`](#operation/getOrders), [`/v2/fee_recipients`](#operation/getFeeRecipients) and [`/v2/orderbook`](#operation/getOrderbook) endpoints. +These requests include the [`/v3/asset_pairs`](#operation/getAssetPairs), [`/v3/orders`](#operation/getOrders), [`/v3/fee_recipients`](#operation/getFeeRecipients) and [`/v3/orderbook`](#operation/getOrderbook) endpoints. # Network Id All requests should be able to specify a **?networkId** query param for all supported networks. For example: ```bash -$ curl https://api.example-relayer.com/v2/asset_pairs?networkId=1 +$ curl https://api.example-relayer.com/v3/asset_pairs?networkId=1 ``` If the query param is not provided, it should default to **1** (mainnet). @@ -75,7 +75,7 @@ A [Link Header](https://tools.ietf.org/html/rfc5988) can be included in a respon For example: ```bash -Link: ; rel="next", +Link: ; rel="next", ; rel="last" ``` @@ -103,7 +103,7 @@ Rate limit guidance for clients can be optionally returned in the response heade For example: ```bash -$ curl -i https://api.example-relayer.com/v2/asset_pairs +$ curl -i https://api.example-relayer.com/v3/asset_pairs HTTP/1.1 200 OK Date: Mon, 20 Oct 2017 12:30:06 GMT Status: 200 OK @@ -169,7 +169,7 @@ Validation error codes: # Asset Data Encoding -As we now support multiple [token transfer proxies](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#assetproxy), the identifier of which proxy to use for the token transfer must be encoded, along with the token information. Each proxy in 0x v2 has a unique identifier. If you're using 0x.js there will be helper methods for this encoding and decoding. +As we now support multiple [token transfer proxies](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#assetproxy), the identifier of which proxy to use for the token transfer must be encoded, along with the token information. Each proxy in 0x v3 has a unique identifier. If you're using 0x.js there will be helper methods for this encoding and decoding. The identifier for the Proxy uses a similar scheme to [ABI function selectors](https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI#function-selector). @@ -194,11 +194,11 @@ Encoding the ERC721 token contract (address: `0x371b13d97f4bf77d724e78c16b7dc740 0x02571792000000000000000000000000371b13d97f4bf77d724e78c16b7dc74099f40e840000000000000000000000000000000000000000000000000000000000000063 ``` -For more information see [the Asset Proxy](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#erc20proxy) section of the v2 spec and the [Ethereum ABI Spec](https://solidity.readthedocs.io/en/develop/abi-spec.html). +For more information see [the Asset Proxy](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md#erc20proxy) section of the v3 spec and the [Ethereum ABI Spec](https://solidity.readthedocs.io/en/develop/abi-spec.html). # Meta Data in Order Responses -In v2 of the standard relayer API we added the `metaData` field. It is meant to provide a standard place for relayers to put optional, custom or non-standard fields that may of interest to the consumer of the API. +In v3 of the standard relayer API we added the `metaData` field. It is meant to provide a standard place for relayers to put optional, custom or non-standard fields that may of interest to the consumer of the API. A good example of such a field is `remainingTakerAssetAmount`, which is a convenience field that communicates how much of a 0x order is potentially left to be filled. Unlike the other fields in a 0x order, it is not guaranteed to be correct as it is derived from whatever mechanism the implementer (ie. the relayer) is using. While convenient for prototyping and low stakes situations, we recommend validating the value of the field by checking the state of the blockchain yourself. diff --git a/packages/subproviders/CHANGELOG.json b/packages/subproviders/CHANGELOG.json index 7833994445..718b2d2e36 100644 --- a/packages/subproviders/CHANGELOG.json +++ b/packages/subproviders/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "5.1.0-beta.0", + "changes": [ + { + "note": "Dependencies updated" + } + ], + "timestamp": 1570135330 + }, { "timestamp": 1568744790, "version": "5.0.4", diff --git a/packages/subproviders/CHANGELOG.md b/packages/subproviders/CHANGELOG.md index 56f200c2fc..b0b9fac5a1 100644 --- a/packages/subproviders/CHANGELOG.md +++ b/packages/subproviders/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.1.0-beta.0 - _October 3, 2019_ + + * Dependencies updated + ## v5.0.4 - _September 17, 2019_ * Dependencies updated diff --git a/packages/subproviders/docs/reference.mdx b/packages/subproviders/docs/reference.mdx index ea526c3727..a0ad4f0629 100644 --- a/packages/subproviders/docs/reference.mdx +++ b/packages/subproviders/docs/reference.mdx @@ -1,4 +1,80 @@ +# Class: EmptyWalletSubprovider + +This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. +It intercepts the `eth_accounts` JSON RPC requests and never returns any addresses when queried. + + +## Methods + +### emitPayloadAsync + +▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* + +*Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* + +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* + +Emits a JSON RPC payload that will then be handled by the ProviderEngine instance +this subprovider is a part of. The payload will cascade down the subprovider middleware +stack until finding the responsible entity for handling the request. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`payload` | `Partial` | JSON RPC payload | + +**Returns:** *`Promise`* + +JSON RPC response payload + +___ + +### handleRequest + +▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [Callback](#callback), `end`: [ErrorCallback](#errorcallback)): *`Promise`* + +*Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* + +*Defined in [subproviders/src/subproviders/empty_wallet_subprovider.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/empty_wallet_subprovider.ts#L21)* + +This method conforms to the web3-provider-engine interface. +It is called internally by the ProviderEngine when it is this subproviders +turn to handle a JSON RPC request. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`payload` | `JSONRPCRequestPayload` | JSON RPC payload | +`next` | [Callback](#callback) | Callback to call if this subprovider decides not to handle the request | +`end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | + +**Returns:** *`Promise`* + +___ + +### setEngine + +▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* + +*Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* + +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* + +Set's the subprovider's engine to the ProviderEngine it is added to. +This is only called within the ProviderEngine source code, do not call +directly. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | + +**Returns:** *void* +
# Class: FakeGasEstimateSubprovider @@ -12,7 +88,7 @@ It intercepts the `eth_estimateGas` JSON RPC call and always returns a constant \+ **new FakeGasEstimateSubprovider**(`constantGasAmount`: number): *[FakeGasEstimateSubprovider](#class-fakegasestimatesubprovider)* -*Defined in [subproviders/src/subproviders/fake_gas_estimate_subprovider.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/fake_gas_estimate_subprovider.ts#L17)* +*Defined in [subproviders/src/subproviders/fake_gas_estimate_subprovider.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/fake_gas_estimate_subprovider.ts#L17)* Instantiates an instance of the FakeGasEstimateSubprovider @@ -32,7 +108,7 @@ Name | Type | Description | *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -56,7 +132,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/fake_gas_estimate_subprovider.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/fake_gas_estimate_subprovider.ts#L35)* +*Defined in [subproviders/src/subproviders/fake_gas_estimate_subprovider.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/fake_gas_estimate_subprovider.ts#L35)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -80,7 +156,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -108,7 +184,7 @@ It intercepts all JSON RPC requests and relays them to an in-process ganache ins \+ **new GanacheSubprovider**(`opts`: `GanacheOpts`): *[GanacheSubprovider](#class-ganachesubprovider)* -*Defined in [subproviders/src/subproviders/ganache.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ganache.ts#L13)* +*Defined in [subproviders/src/subproviders/ganache.ts:13](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ganache.ts#L13)* Instantiates a GanacheSubprovider @@ -128,7 +204,7 @@ Name | Type | Description | *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -152,7 +228,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/ganache.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ganache.ts#L31)* +*Defined in [subproviders/src/subproviders/ganache.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ganache.ts#L31)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -176,7 +252,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -205,7 +281,7 @@ re-routes them to a Ledger device plugged into the users computer. \+ **new LedgerSubprovider**(`config`: [LedgerSubproviderConfigs](#interface-ledgersubproviderconfigs)): *[LedgerSubprovider](#class-ledgersubprovider)* -*Defined in [subproviders/src/subproviders/ledger.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ledger.ts#L41)* +*Defined in [subproviders/src/subproviders/ledger.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ledger.ts#L41)* Instantiates a LedgerSubprovider. Defaults to derivationPath set to `44'/60'/0'`. TestRPC/Ganache defaults to `m/44'/60'/0'/0`, so set this in the configs if desired. @@ -228,7 +304,7 @@ LedgerSubprovider instance *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -252,7 +328,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/ledger.ts:87](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ledger.ts#L87)* +*Defined in [subproviders/src/subproviders/ledger.ts:87](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ledger.ts#L87)* Retrieve a users Ledger accounts. The accounts are derived from the derivationPath, master public key and chain code. Because of this, you can request as many accounts @@ -276,7 +352,7 @@ ___ ▸ **getPath**(): *string* -*Defined in [subproviders/src/subproviders/ledger.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ledger.ts#L68)* +*Defined in [subproviders/src/subproviders/ledger.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ledger.ts#L68)* Retrieve the set derivation path @@ -294,7 +370,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/base_wallet_subprovider.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/base_wallet_subprovider.ts#L37)* +*Defined in [subproviders/src/subproviders/base_wallet_subprovider.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/base_wallet_subprovider.ts#L37)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -318,7 +394,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -338,7 +414,7 @@ ___ ▸ **setPath**(`basDerivationPath`: string): *void* -*Defined in [subproviders/src/subproviders/ledger.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ledger.ts#L75)* +*Defined in [subproviders/src/subproviders/ledger.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ledger.ts#L75)* Set a desired derivation path when computing the available user addresses @@ -358,7 +434,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/ledger.ts:158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ledger.ts#L158)* +*Defined in [subproviders/src/subproviders/ledger.ts:158](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ledger.ts#L158)* Sign a personal Ethereum signed message. The signing account will be the account associated with the provided address. @@ -386,7 +462,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/ledger.ts:101](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ledger.ts#L101)* +*Defined in [subproviders/src/subproviders/ledger.ts:101](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ledger.ts#L101)* Signs a transaction on the Ledger with the account specificed by the `from` field in txParams. If you've added the LedgerSubprovider to your app's provider, you can simply send an `eth_sendTransaction` @@ -411,7 +487,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/ledger.ts:196](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/ledger.ts#L196)* +*Defined in [subproviders/src/subproviders/ledger.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/ledger.ts#L196)* eth_signTypedData is currently not supported on Ledger devices. @@ -444,7 +520,7 @@ are passed onwards for subsequent subproviders to handle. \+ **new MetamaskSubprovider**(`supportedProvider`: [SupportedProvider](#supportedprovider)): *[MetamaskSubprovider](#class-metamasksubprovider)* -*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/metamask_subprovider.ts#L19)* +*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/metamask_subprovider.ts#L19)* Instantiates a new MetamaskSubprovider @@ -464,7 +540,7 @@ Name | Type | Description | *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -488,7 +564,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/metamask_subprovider.ts#L39)* +*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/metamask_subprovider.ts#L39)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -510,7 +586,7 @@ ___ ▸ **sendAsync**(`payload`: `JSONRPCRequestPayload`, `callback`: [ErrorCallback](#errorcallback)): *void* -*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:117](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/metamask_subprovider.ts#L117)* +*Defined in [subproviders/src/subproviders/metamask_subprovider.ts:117](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/metamask_subprovider.ts#L117)* This method conforms to the provider sendAsync interface. Allowing the MetamaskSubprovider to be used as a generic provider (outside of Web3ProviderEngine) with the @@ -535,7 +611,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -564,7 +640,7 @@ all requests with accounts derived from the supplied mnemonic. \+ **new MnemonicWalletSubprovider**(`config`: [MnemonicWalletSubproviderConfigs](#interface-mnemonicwalletsubproviderconfigs)): *[MnemonicWalletSubprovider](#class-mnemonicwalletsubprovider)* -*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:27](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L27)* +*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:27](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L27)* Instantiates a MnemonicWalletSubprovider. Defaults to baseDerivationPath set to `44'/60'/0'/0`. This is the default in TestRPC/Ganache, it can be overridden if desired. @@ -587,7 +663,7 @@ MnemonicWalletSubprovider instance *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -611,7 +687,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L70)* +*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L70)* Retrieve the accounts associated with the mnemonic. This method is implicitly called when issuing a `eth_accounts` JSON RPC request @@ -633,7 +709,7 @@ ___ ▸ **getPath**(): *string* -*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L52)* +*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L52)* Retrieve the set derivation path @@ -651,7 +727,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/base_wallet_subprovider.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/base_wallet_subprovider.ts#L37)* +*Defined in [subproviders/src/subproviders/base_wallet_subprovider.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/base_wallet_subprovider.ts#L37)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -675,7 +751,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -695,7 +771,7 @@ ___ ▸ **setPath**(`baseDerivationPath`: string): *void* -*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L59)* +*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L59)* Set a desired derivation path when computing the available user addresses @@ -715,7 +791,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:102](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L102)* +*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L102)* Sign a personal Ethereum signed message. The signing account will be the account associated with the provided address. If you've added the MnemonicWalletSubprovider to @@ -742,7 +818,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L84)* +*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L84)* Signs a transaction with the account specificed by the `from` field in txParams. If you've added this Subprovider to your app's provider, you can simply send @@ -767,7 +843,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L122)* +*Defined in [subproviders/src/subproviders/mnemonic_wallet.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/mnemonic_wallet.ts#L122)* Sign an EIP712 Typed Data message. The signing account will be the account associated with the provided address. If you've added this MnemonicWalletSubprovider to @@ -803,7 +879,7 @@ We added the additional feature of clearing the cached nonce value when a `nonce *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -827,7 +903,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/nonce_tracker.ts:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/nonce_tracker.ts#L57)* +*Defined in [subproviders/src/subproviders/nonce_tracker.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/nonce_tracker.ts#L57)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -851,7 +927,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -880,7 +956,7 @@ all requests with the supplied Ethereum private key. \+ **new PrivateKeyWalletSubprovider**(`privateKey`: string): *[PrivateKeyWalletSubprovider](#class-privatekeywalletsubprovider)* -*Defined in [subproviders/src/subproviders/private_key_wallet.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/private_key_wallet.ts#L19)* +*Defined in [subproviders/src/subproviders/private_key_wallet.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/private_key_wallet.ts#L19)* Instantiates a PrivateKeyWalletSubprovider. @@ -902,7 +978,7 @@ PrivateKeyWalletSubprovider instance *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -926,7 +1002,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/private_key_wallet.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/private_key_wallet.ts#L37)* +*Defined in [subproviders/src/subproviders/private_key_wallet.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/private_key_wallet.ts#L37)* Retrieve the account associated with the supplied private key. This method is implicitly called when issuing a `eth_accounts` JSON RPC request @@ -946,7 +1022,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/base_wallet_subprovider.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/base_wallet_subprovider.ts#L37)* +*Defined in [subproviders/src/subproviders/base_wallet_subprovider.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/base_wallet_subprovider.ts#L37)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -970,7 +1046,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -992,7 +1068,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/private_key_wallet.ts:72](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/private_key_wallet.ts#L72)* +*Defined in [subproviders/src/subproviders/private_key_wallet.ts:72](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/private_key_wallet.ts#L72)* Sign a personal Ethereum signed message. The signing address will be calculated from the private key. The address must be provided it must match the address calculated from the private key. @@ -1019,7 +1095,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/private_key_wallet.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/private_key_wallet.ts#L48)* +*Defined in [subproviders/src/subproviders/private_key_wallet.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/private_key_wallet.ts#L48)* Sign a transaction with the private key. If you've added this Subprovider to your app's provider, you can simply send an `eth_sendTransaction` JSON RPC request, and @@ -1044,7 +1120,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/private_key_wallet.ts:99](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/private_key_wallet.ts#L99)* +*Defined in [subproviders/src/subproviders/private_key_wallet.ts:99](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/private_key_wallet.ts#L99)* Sign an EIP712 Typed Data message. The signing address will be calculated from the private key. The address must be provided it must match the address calculated from the private key. @@ -1078,7 +1154,7 @@ set of JSON RPC endpoints. \+ **new RedundantSubprovider**(`subproviders`: [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md)[]): *[RedundantSubprovider](#class-redundantsubprovider)* -*Defined in [subproviders/src/subproviders/redundant_subprovider.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/redundant_subprovider.ts#L33)* +*Defined in [subproviders/src/subproviders/redundant_subprovider.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/redundant_subprovider.ts#L33)* Instantiates a new RedundantSubprovider @@ -1098,7 +1174,7 @@ Name | Type | Description | *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -1122,7 +1198,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/redundant_subprovider.ts:51](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/redundant_subprovider.ts#L51)* +*Defined in [subproviders/src/subproviders/redundant_subprovider.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/redundant_subprovider.ts#L51)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -1161,7 +1237,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -1189,7 +1265,7 @@ It forwards on JSON RPC requests to the supplied `rpcUrl` endpoint \+ **new RPCSubprovider**(`rpcUrl`: string, `requestTimeoutMs`: number): *[RPCSubprovider](#class-rpcsubprovider)* -*Defined in [subproviders/src/subproviders/rpc_subprovider.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/rpc_subprovider.ts#L17)* +*Defined in [subproviders/src/subproviders/rpc_subprovider.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/rpc_subprovider.ts#L17)* **Parameters:** @@ -1208,7 +1284,7 @@ Name | Type | Default | Description | *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -1232,7 +1308,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/rpc_subprovider.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/rpc_subprovider.ts#L38)* +*Defined in [subproviders/src/subproviders/rpc_subprovider.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/rpc_subprovider.ts#L38)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -1256,7 +1332,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -1286,7 +1362,7 @@ are passed onwards for subsequent subproviders to handle. \+ **new SignerSubprovider**(`supportedProvider`: [SupportedProvider](#supportedprovider)): *[SignerSubprovider](#class-signersubprovider)* -*Defined in [subproviders/src/subproviders/signer.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/signer.ts#L15)* +*Defined in [subproviders/src/subproviders/signer.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/signer.ts#L15)* Instantiates a new SignerSubprovider. @@ -1306,7 +1382,7 @@ Name | Type | Description | *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -1330,7 +1406,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/signer.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/signer.ts#L33)* +*Defined in [subproviders/src/subproviders/signer.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/signer.ts#L33)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -1354,7 +1430,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -1382,7 +1458,7 @@ This one has an async/await `emitPayloadAsync` and also defined types. ▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -1404,7 +1480,7 @@ ___ ▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [Callback](#callback), `end`: [ErrorCallback](#errorcallback)): *`Promise`* -*Defined in [subproviders/src/subproviders/subprovider.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L42)* +*Defined in [subproviders/src/subproviders/subprovider.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L42)* **Parameters:** @@ -1422,7 +1498,7 @@ ___ ▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -1447,7 +1523,7 @@ Name | Type | Description | \+ **new TrezorSubprovider**(`config`: [TrezorSubproviderConfig](#interface-trezorsubproviderconfig)): *[TrezorSubprovider](#class-trezorsubprovider)* -*Defined in [subproviders/src/subproviders/trezor.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/trezor.ts#L32)* +*Defined in [subproviders/src/subproviders/trezor.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/trezor.ts#L32)* Instantiates a TrezorSubprovider. Defaults to private key path set to `44'/60'/0'/0/`. Must be initialized with trezor-connect API module https://github.com/trezor/connect. @@ -1470,7 +1546,7 @@ TrezorSubprovider instance *Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* +*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L55)* Emits a JSON RPC payload that will then be handled by the ProviderEngine instance this subprovider is a part of. The payload will cascade down the subprovider middleware @@ -1494,7 +1570,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/trezor.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/trezor.ts#L56)* +*Defined in [subproviders/src/subproviders/trezor.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/trezor.ts#L56)* Retrieve a users Trezor account. This method is automatically called when issuing a `eth_accounts` JSON RPC request via your providerEngine @@ -1520,7 +1596,7 @@ ___ *Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* -*Defined in [subproviders/src/subproviders/base_wallet_subprovider.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/base_wallet_subprovider.ts#L37)* +*Defined in [subproviders/src/subproviders/base_wallet_subprovider.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/base_wallet_subprovider.ts#L37)* This method conforms to the web3-provider-engine interface. It is called internally by the ProviderEngine when it is this subproviders @@ -1544,7 +1620,7 @@ ___ *Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* +*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/subprovider.ts#L68)* Set's the subprovider's engine to the ProviderEngine it is added to. This is only called within the ProviderEngine source code, do not call @@ -1566,7 +1642,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/trezor.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/trezor.ts#L129)* +*Defined in [subproviders/src/subproviders/trezor.ts:129](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/trezor.ts#L129)* Sign a personal Ethereum signed message. The signing account will be the account associated with the provided address. If you've added the TrezorSubprovider to @@ -1593,7 +1669,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/trezor.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/trezor.ts#L70)* +*Defined in [subproviders/src/subproviders/trezor.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/trezor.ts#L70)* Signs a transaction on the Trezor with the account specificed by the `from` field in txParams. If you've added the TrezorSubprovider to your app's provider, you can simply send an `eth_sendTransaction` @@ -1618,7 +1694,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/subproviders/trezor.ts:161](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/trezor.ts#L161)* +*Defined in [subproviders/src/subproviders/trezor.ts:161](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/subproviders/trezor.ts#L161)* TODO:: eth_signTypedData is currently not supported on Trezor devices. @@ -1654,7 +1730,7 @@ Signature hex string (order: rsv) • **CannotDetermineAddressFromPayload**: = "CANNOT_DETERMINE_ADDRESS_FROM_PAYLOAD" -*Defined in [subproviders/src/types.ts:121](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L121)* +*Defined in [subproviders/src/types.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L121)* ___ @@ -1662,7 +1738,7 @@ ___ • **EmptyParametersFound**: = "EMPTY_PARAMETERS_FOUND" -*Defined in [subproviders/src/types.ts:120](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L120)* +*Defined in [subproviders/src/types.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L120)*
@@ -1691,33 +1767,6 @@ ___ -## Type aliases - - - - - - - - - -### EIP712ObjectValue - -Ƭ **EIP712ObjectValue**: *string | number | [EIP712Object](#interface-eip712object)* - -*Defined in [types/src/index.ts:719](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L719)* - -___ - - - - - - - - - - @@ -1764,7 +1813,7 @@ ___ • **isEIP1193**: *boolean* -*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L73)* +*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* ## Methods @@ -1772,7 +1821,7 @@ ___ ▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* -*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L75)* +*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* **Parameters:** @@ -1796,7 +1845,7 @@ ___ ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L74)* +*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* **Parameters:** @@ -1830,7 +1879,7 @@ Name | Type | ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L14)* +*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* **Parameters:** @@ -1854,7 +1903,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -1862,7 +1911,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -1870,7 +1919,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -1878,7 +1927,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -1891,7 +1940,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -1899,7 +1948,7 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
@@ -1912,7 +1961,7 @@ ___ • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ @@ -1920,7 +1969,7 @@ ___ • **id**: *number* -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ @@ -1928,7 +1977,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* ___ @@ -1936,7 +1985,7 @@ ___ • **result**: *any* -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -1979,6 +2028,8 @@ ___ + + @@ -1995,7 +2046,7 @@ This interface allowed sending synchonous requests, support for which was later ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L45)* +*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* **Parameters:** @@ -2011,7 +2062,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L44)* +*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* **Parameters:** @@ -2037,7 +2088,7 @@ before the first attempts to conform to EIP1193 ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L54)* +*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* **Parameters:** @@ -2063,7 +2114,7 @@ however it does not conform entirely. ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L63)* +*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* **Parameters:** @@ -2089,7 +2140,7 @@ add here • **isMetaMask**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L31)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ @@ -2097,7 +2148,7 @@ ___ • **isParity**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L32)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ @@ -2105,7 +2156,7 @@ ___ • **isZeroExProvider**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L30)* +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* ## Methods @@ -2113,7 +2164,7 @@ ___ ▸ **enable**(): *`Promise`* -*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L34)* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* **Returns:** *`Promise`* @@ -2123,7 +2174,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L35)* +*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* **Parameters:** @@ -2140,7 +2191,7 @@ ___ ▸ **stop**(): *void* -*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L33)* +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* **Returns:** *void* @@ -2160,7 +2211,7 @@ shouldAskForOnDeviceConfirmation: Whether you wish to prompt the user on their L • **addressSearchLimit**? : *undefined | number* -*Defined in [subproviders/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L55)* +*Defined in [subproviders/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L55)* ___ @@ -2168,7 +2219,7 @@ ___ • **numAddressesToReturn**? : *undefined | number* -*Defined in [subproviders/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L56)* +*Defined in [subproviders/src/types.ts:56](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L56)* ___ @@ -2176,7 +2227,7 @@ ___ • **shouldAskForOnDeviceConfirmation**? : *undefined | false | true* -*Defined in [subproviders/src/types.ts:57](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L57)* +*Defined in [subproviders/src/types.ts:57](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L57)*
@@ -2191,7 +2242,7 @@ ___ • **r**: *string* -*Defined in [subproviders/src/types.ts:29](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L29)* +*Defined in [subproviders/src/types.ts:29](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L29)* ___ @@ -2199,7 +2250,7 @@ ___ • **s**: *string* -*Defined in [subproviders/src/types.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L30)* +*Defined in [subproviders/src/types.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L30)* ___ @@ -2207,7 +2258,7 @@ ___ • **v**: *string* -*Defined in [subproviders/src/types.ts:28](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L28)* +*Defined in [subproviders/src/types.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L28)*
@@ -2222,7 +2273,7 @@ ___ -Defined in ethereum-types/lib/index.d.ts:262 +Defined in ethereum-types/lib/index.d.ts:267 ___ @@ -2232,7 +2283,7 @@ ___ -Defined in ethereum-types/lib/index.d.ts:263 +Defined in ethereum-types/lib/index.d.ts:268 ___ @@ -2242,7 +2293,7 @@ ___ *Overrides void* -*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L136)* +*Defined in [subproviders/src/types.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L136)* ___ @@ -2252,7 +2303,7 @@ ___ -Defined in ethereum-types/lib/index.d.ts:260 +Defined in ethereum-types/lib/index.d.ts:265
@@ -2274,7 +2325,7 @@ NodeJs and Browser communication are supported. • **getAddress**: *function* -*Defined in [subproviders/src/types.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L17)* +*Defined in [subproviders/src/types.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L17)* #### Type declaration: @@ -2294,7 +2345,7 @@ ___ • **signPersonalMessage**: *function* -*Defined in [subproviders/src/types.ts:23](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L23)* +*Defined in [subproviders/src/types.ts:23](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L23)* #### Type declaration: @@ -2313,7 +2364,7 @@ ___ • **signTransaction**: *function* -*Defined in [subproviders/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L22)* +*Defined in [subproviders/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L22)* #### Type declaration: @@ -2332,7 +2383,7 @@ ___ • **transport**: *[LedgerCommunicationClient](#class-ledgercommunicationclient)* -*Defined in [subproviders/src/types.ts:24](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L24)* +*Defined in [subproviders/src/types.ts:24](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L24)*
@@ -2345,7 +2396,7 @@ ___ • **address**: *string* -*Defined in [subproviders/src/types.ts:79](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L79)* +*Defined in [subproviders/src/types.ts:79](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L79)* ___ @@ -2353,7 +2404,7 @@ ___ • **chainCode**: *string* -*Defined in [subproviders/src/types.ts:81](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L81)* +*Defined in [subproviders/src/types.ts:81](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L81)* ___ @@ -2361,7 +2412,7 @@ ___ • **publicKey**: *string* -*Defined in [subproviders/src/types.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L80)* +*Defined in [subproviders/src/types.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L80)*
@@ -2379,7 +2430,7 @@ accountFetchingConfigs: configs related to fetching accounts from a Ledger • **accountFetchingConfigs**? : *[AccountFetchingConfigs](#class-accountfetchingconfigs)* -*Defined in [subproviders/src/types.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L45)* +*Defined in [subproviders/src/types.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L45)* ___ @@ -2387,7 +2438,7 @@ ___ • **baseDerivationPath**? : *undefined | string* -*Defined in [subproviders/src/types.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L44)* +*Defined in [subproviders/src/types.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L44)* ___ @@ -2395,7 +2446,7 @@ ___ • **ledgerEthereumClientFactoryAsync**: *[LedgerEthereumClientFactoryAsync](#ledgerethereumclientfactoryasync)* -*Defined in [subproviders/src/types.ts:43](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L43)* +*Defined in [subproviders/src/types.ts:43](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L43)* ___ @@ -2403,7 +2454,7 @@ ___ • **networkId**: *number* -*Defined in [subproviders/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L42)* +*Defined in [subproviders/src/types.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L42)*
@@ -2420,7 +2471,7 @@ baseDerivationPath: The base derivation path (e.g 44'/60'/0'/0) • **addressSearchLimit**? : *undefined | number* -*Defined in [subproviders/src/types.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L67)* +*Defined in [subproviders/src/types.ts:67](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L67)* ___ @@ -2428,7 +2479,7 @@ ___ • **baseDerivationPath**? : *undefined | string* -*Defined in [subproviders/src/types.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L68)* +*Defined in [subproviders/src/types.ts:68](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L68)* ___ @@ -2436,7 +2487,7 @@ ___ • **mnemonic**: *string* -*Defined in [subproviders/src/types.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L66)* +*Defined in [subproviders/src/types.ts:66](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L66)*
@@ -2449,7 +2500,7 @@ ___ • **chainId**: *number* -*Defined in [subproviders/src/types.ts:92](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L92)* +*Defined in [subproviders/src/types.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L92)* ___ @@ -2457,7 +2508,7 @@ ___ • **data**? : *undefined | string* -*Defined in [subproviders/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L91)* +*Defined in [subproviders/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L91)* ___ @@ -2465,7 +2516,7 @@ ___ • **from**: *string* -*Defined in [subproviders/src/types.ts:89](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L89)* +*Defined in [subproviders/src/types.ts:89](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L89)* ___ @@ -2473,7 +2524,7 @@ ___ • **gas**: *string* -*Defined in [subproviders/src/types.ts:87](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L87)* +*Defined in [subproviders/src/types.ts:87](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L87)* ___ @@ -2481,7 +2532,7 @@ ___ • **gasPrice**? : *undefined | string* -*Defined in [subproviders/src/types.ts:86](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L86)* +*Defined in [subproviders/src/types.ts:86](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L86)* ___ @@ -2489,7 +2540,7 @@ ___ • **nonce**: *string* -*Defined in [subproviders/src/types.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L85)* +*Defined in [subproviders/src/types.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L85)* ___ @@ -2497,7 +2548,7 @@ ___ • **to**: *string* -*Defined in [subproviders/src/types.ts:88](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L88)* +*Defined in [subproviders/src/types.ts:88](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L88)* ___ @@ -2505,7 +2556,7 @@ ___ • **value**? : *undefined | string* -*Defined in [subproviders/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L90)* +*Defined in [subproviders/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L90)*
@@ -2513,83 +2564,7 @@ ___ -# Class: EmptyWalletSubprovider - -This class implements the [web3-provider-engine](https://github.com/MetaMask/provider-engine) subprovider interface. -It intercepts the `eth_accounts` JSON RPC requests and never returns any addresses when queried. - - -## Methods - -### emitPayloadAsync - -▸ **emitPayloadAsync**(`payload`: `Partial`): *`Promise`* - -*Inherited from [Subprovider](#interface-subprovider).[emitPayloadAsync](#emitpayloadasync)* - -*Defined in [subproviders/src/subproviders/subprovider.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L55)* - -Emits a JSON RPC payload that will then be handled by the ProviderEngine instance -this subprovider is a part of. The payload will cascade down the subprovider middleware -stack until finding the responsible entity for handling the request. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`payload` | `Partial` | JSON RPC payload | - -**Returns:** *`Promise`* - -JSON RPC response payload - -___ - -### handleRequest - -▸ **handleRequest**(`payload`: `JSONRPCRequestPayload`, `next`: [Callback](#callback), `end`: [ErrorCallback](#errorcallback)): *`Promise`* - -*Overrides [Subprovider](_subproviders_src_subproviders_subprovider_.subprovider.md).[handleRequest](#abstract-handlerequest)* - -*Defined in [subproviders/src/subproviders/empty_wallet_subprovider.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/empty_wallet_subprovider.ts#L21)* - -This method conforms to the web3-provider-engine interface. -It is called internally by the ProviderEngine when it is this subproviders -turn to handle a JSON RPC request. - -**Parameters:** -Name | Type | Description | ------- | ------ | ------ | -`payload` | `JSONRPCRequestPayload` | JSON RPC payload | -`next` | [Callback](#callback) | Callback to call if this subprovider decides not to handle the request | -`end` | [ErrorCallback](#errorcallback) | Callback to call if subprovider handled the request and wants to pass back the request. | - -**Returns:** *`Promise`* - -___ - -### setEngine - -▸ **setEngine**(`engine`: `Web3ProviderEngine`): *void* - -*Inherited from [Subprovider](#interface-subprovider).[setEngine](#setengine)* - -*Defined in [subproviders/src/subproviders/subprovider.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/subproviders/subprovider.ts#L68)* - -Set's the subprovider's engine to the ProviderEngine it is added to. -This is only called within the ProviderEngine source code, do not call -directly. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`engine` | `Web3ProviderEngine` | The ProviderEngine this subprovider is added to | - -**Returns:** *void* - -
@@ -2608,7 +2583,7 @@ Name | Type | Description | • **accountFetchingConfigs**: *[AccountFetchingConfigs](#class-accountfetchingconfigs)* -*Defined in [subproviders/src/types.ts:140](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L140)* +*Defined in [subproviders/src/types.ts:140](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L140)* ___ @@ -2616,7 +2591,7 @@ ___ • **networkId**: *number* -*Defined in [subproviders/src/types.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L142)* +*Defined in [subproviders/src/types.ts:142](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L142)* ___ @@ -2624,7 +2599,7 @@ ___ • **trezorConnectClientApi**: *any* -*Defined in [subproviders/src/types.ts:141](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L141)* +*Defined in [subproviders/src/types.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L141)*
@@ -2647,6 +2622,10 @@ ___ + + + + @@ -2663,7 +2642,7 @@ Elliptic Curve signature • **r**: *string* -*Defined in [types/src/index.ts:68](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L68)* +*Defined in [types/src/index.ts:62](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L62)* ___ @@ -2671,7 +2650,7 @@ ___ • **s**: *string* -*Defined in [types/src/index.ts:69](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L69)* +*Defined in [types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L63)* ___ @@ -2679,7 +2658,7 @@ ___ • **v**: *number* -*Defined in [types/src/index.ts:67](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L67)* +*Defined in [types/src/index.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L61)*
@@ -2699,7 +2678,7 @@ ___ • **name**: *string* -*Defined in [types/src/index.ts:711](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L711)* +*Defined in [types/src/index.ts:720](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L720)* ___ @@ -2707,7 +2686,7 @@ ___ • **type**: *string* -*Defined in [types/src/index.ts:712](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L712)* +*Defined in [types/src/index.ts:721](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L721)*
@@ -2720,7 +2699,7 @@ ___ • **domain**: *[EIP712Object](#class-eip712object)* -*Defined in [types/src/index.ts:727](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L727)* +*Defined in [types/src/index.ts:736](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L736)* ___ @@ -2728,7 +2707,7 @@ ___ • **message**: *[EIP712Object](#class-eip712object)* -*Defined in [types/src/index.ts:728](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L728)* +*Defined in [types/src/index.ts:737](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L737)* ___ @@ -2736,7 +2715,7 @@ ___ • **primaryType**: *string* -*Defined in [types/src/index.ts:729](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L729)* +*Defined in [types/src/index.ts:738](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L738)* ___ @@ -2744,7 +2723,7 @@ ___ • **types**: *[EIP712Types](#class-eip712types)* -*Defined in [types/src/index.ts:726](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L726)* +*Defined in [types/src/index.ts:735](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L735)*
@@ -2762,7 +2741,7 @@ ___ • **name**: *string* -*Defined in [types/src/index.ts:665](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L665)* +*Defined in [types/src/index.ts:674](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L674)* ___ @@ -2770,7 +2749,7 @@ ___ • **typeDocType**: *[TypeDocTypes](#enumeration-typedoctypes)* -*Defined in [types/src/index.ts:666](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/types/src/index.ts#L666)* +*Defined in [types/src/index.ts:675](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L675)*
@@ -2885,31 +2864,13 @@ ___ -## Functions - -### prependSubprovider - -▸ **prependSubprovider**(`provider`: `Web3ProviderEngine`, `subprovider`: [Subprovider](#class-subprovider)): *void* - -*Defined in [subproviders/src/utils/subprovider_utils.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/utils/subprovider_utils.ts#L10)* - -Prepends a subprovider to a provider - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`provider` | `Web3ProviderEngine` | Given provider | -`subprovider` | [Subprovider](#class-subprovider) | Subprovider to prepend | -**Returns:** *void* -
+## Type aliases -## Type aliases @@ -2925,7 +2886,7 @@ Name | Type | Description | Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L70)* +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md @@ -2942,7 +2903,7 @@ ___ Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L3)* +*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: @@ -2971,7 +2932,7 @@ ___ Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L9)* +*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. @@ -2986,7 +2947,7 @@ ___ Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L11)* +*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)*
@@ -2999,7 +2960,7 @@ ___ ▸ **ledgerEthereumBrowserClientFactoryAsync**(): *`Promise`* -*Defined in [subproviders/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/index.ts#L11)* +*Defined in [subproviders/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/index.ts#L11)* A factory method for creating a LedgerEthereumClient usable in a browser context. @@ -3070,7 +3031,7 @@ LedgerEthereumClient A browser client for the LedgerSubprovider Ƭ **Callback**: *function* -*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L131)* +*Defined in [subproviders/src/types.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L131)* #### Type declaration: @@ -3084,7 +3045,7 @@ ___ Ƭ **ErrorCallback**: *function* -*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L130)* +*Defined in [subproviders/src/types.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L130)* #### Type declaration: @@ -3103,7 +3064,7 @@ ___ Ƭ **LedgerEthereumClientFactoryAsync**: *function* -*Defined in [subproviders/src/types.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L33)* +*Defined in [subproviders/src/types.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L33)* #### Type declaration: @@ -3115,7 +3076,7 @@ ___ Ƭ **NextCallback**: *function* -*Defined in [subproviders/src/types.ts:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L133)* +*Defined in [subproviders/src/types.ts:133](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L133)* #### Type declaration: @@ -3133,7 +3094,7 @@ ___ Ƭ **OnNextCompleted**: *function* -*Defined in [subproviders/src/types.ts:132](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/subproviders/src/types.ts#L132)* +*Defined in [subproviders/src/types.ts:132](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/types.ts#L132)* #### Type declaration: @@ -3149,3 +3110,60 @@ Name | Type |
+ + + +## Functions + +### prependSubprovider + +▸ **prependSubprovider**(`provider`: `Web3ProviderEngine`, `subprovider`: [Subprovider](#class-subprovider)): *void* + +*Defined in [subproviders/src/utils/subprovider_utils.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/subproviders/src/utils/subprovider_utils.ts#L10)* + +Prepends a subprovider to a provider + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`provider` | `Web3ProviderEngine` | Given provider | +`subprovider` | [Subprovider](#class-subprovider) | Subprovider to prepend | + +**Returns:** *void* + +
+ + + + +## Type aliases + + + + + + + + + +### EIP712ObjectValue + +Ƭ **EIP712ObjectValue**: *string | number | [EIP712Object](#interface-eip712object)* + +*Defined in [types/src/index.ts:728](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/types/src/index.ts#L728)* + +___ + + + + + + + + + + + + + diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index 9433d4b983..4d4af6bc4a 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -1,6 +1,6 @@ { "name": "@0x/subproviders", - "version": "5.0.4", + "version": "5.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -33,18 +33,18 @@ } }, "dependencies": { - "@0x/assert": "^2.1.6", - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "@0x/assert": "^2.2.0-beta.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "@ledgerhq/hw-app-eth": "^4.3.0", "@ledgerhq/hw-transport-u2f": "4.24.0", "@types/hdkey": "^0.7.0", "@types/web3-provider-engine": "^14.0.0", "bip39": "^2.5.0", "bn.js": "^4.11.8", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-tx": "^1.3.5", "ethereumjs-util": "^5.1.1", "ganache-core": "^2.6.0", diff --git a/packages/testnet-faucets/package.json b/packages/testnet-faucets/package.json index 25073d8287..83d3d7aa9d 100644 --- a/packages/testnet-faucets/package.json +++ b/packages/testnet-faucets/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@0x/testnet-faucets", - "version": "1.0.87", + "version": "1.0.88", "engines": { "node": ">=6.12" }, @@ -19,14 +19,15 @@ "author": "Fabio Berger", "license": "Apache-2.0", "dependencies": { - "0x.js": "^7.0.2", - "@0x/contract-wrappers": "^12.1.0", - "@0x/subproviders": "^5.0.4", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "@0x/web3-wrapper": "^6.0.13", + "0x.js": "^7.1.0-beta.0", + "@0x/contract-addresses": "^3.3.0-beta.0", + "@0x/contract-wrappers": "^12.2.0-beta.0", + "@0x/subproviders": "^5.1.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "@0x/web3-wrapper": "^6.1.0-beta.0", "body-parser": "^1.17.1", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-tx": "^1.3.5", "ethereumjs-util": "^5.1.1", "express": "^4.15.2", diff --git a/packages/testnet-faucets/src/ts/handler.ts b/packages/testnet-faucets/src/ts/handler.ts index b70674cfa7..fbd6e1fda4 100644 --- a/packages/testnet-faucets/src/ts/handler.ts +++ b/packages/testnet-faucets/src/ts/handler.ts @@ -1,7 +1,6 @@ import { assetDataUtils, BigNumber, - ContractWrappers, generatePseudoRandomSalt, Order, orderHashUtils, @@ -10,9 +9,10 @@ import { SignedOrder, Web3ProviderEngine, } from '0x.js'; +import { getContractAddressesForNetworkOrThrow } from '@0x/contract-addresses'; import { NonceTrackerSubprovider, PrivateKeyWalletSubprovider } from '@0x/subproviders'; import { logUtils } from '@0x/utils'; -import { Web3Wrapper } from '@0x/web3-wrapper'; +import { SupportedProvider, Web3Wrapper } from '@0x/web3-wrapper'; import * as express from 'express'; import * as _ from 'lodash'; @@ -26,7 +26,7 @@ import { TOKENS_BY_NETWORK } from './tokens'; interface NetworkConfig { dispatchQueue: DispatchQueue; web3Wrapper: Web3Wrapper; - contractWrappers: ContractWrappers; + provider: SupportedProvider; networkId: number; } @@ -64,15 +64,11 @@ export class Handler { const web3Wrapper = new Web3Wrapper(providerObj); // tslint:disable-next-line:custom-no-magic-numbers const networkId = parseInt(networkIdString, 10); - const contractWrappersConfig = { - networkId, - }; - const contractWrappers = new ContractWrappers(providerObj, contractWrappersConfig); const dispatchQueue = new DispatchQueue(); this._networkConfigByNetworkId[networkId] = { dispatchQueue, web3Wrapper, - contractWrappers, + provider: providerObj, networkId, }; }); @@ -124,7 +120,7 @@ export class Handler { recipient, requestedAssetType, networkConfig.networkId, - networkConfig.contractWrappers.getProvider(), + networkConfig.provider, ); break; default: @@ -164,6 +160,7 @@ export class Handler { const takerAssetAmount = Web3Wrapper.toBaseUnitAmount(ASSET_AMOUNT, takerTokenIfExists.decimals); const makerAssetData = assetDataUtils.encodeERC20AssetData(makerTokenIfExists.address); const takerAssetData = assetDataUtils.encodeERC20AssetData(takerTokenIfExists.address); + const contractAddresses = getContractAddressesForNetworkOrThrow(networkConfig.networkId); const order: Order = { makerAddress: configs.DISPENSER_ADDRESS, takerAddress: req.params.recipient as string, @@ -182,7 +179,7 @@ export class Handler { // tslint:disable-next-line:custom-no-magic-numbers .div(1000) .integerValue(BigNumber.ROUND_FLOOR), - exchangeAddress: networkConfig.contractWrappers.exchange.address, + exchangeAddress: contractAddresses.exchange, chainId: networkConfig.networkId, }; const orderHash = orderHashUtils.getOrderHashHex(order); diff --git a/packages/types/CHANGELOG.json b/packages/types/CHANGELOG.json index 3c341ca548..b6aca3e427 100644 --- a/packages/types/CHANGELOG.json +++ b/packages/types/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "2.4.4", + "version": "2.5.0-beta.0", "changes": [ { "note": "Add `OrderStatus` type", @@ -13,8 +13,13 @@ { "note": "Add status types for Staking contracts", "pr": 1910 + }, + { + "note": "Add `ERC20Bridge` to `AssetProxyId`", + "pr": 2220 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 2349ac28b3..e4c1db6425 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -5,6 +5,13 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v2.5.0-beta.0 - _October 3, 2019_ + + * Add `OrderStatus` type (#1761) + * Add `OrderInfo`, `FillResults`, `MatchedFillResults`, `BatchMatchedFillResults` types (#2031) + * Add status types for Staking contracts (#1910) + * Add `ERC20Bridge` to `AssetProxyId` (#2220) + ## v2.4.3 - _September 17, 2019_ * Dependencies updated @@ -25,6 +32,16 @@ CHANGELOG * Add StaticCallProxy types (#1863) * Add `InvalidStaticCallDataOffset`, `TargetNotEven`, `UnexpectedStaticCallResult`, and `InvalidAssetDataEnd` to `RevertReason` enum (#1863) + * Add `domain` field to `Order`, `ZeroExTransaction` (#1742) + * Rename OrderWithoutExchangeAddress to OrderWithoutDomain (#1742) + * Add `chainId` field to `EIP712DomainWithDefaultSchema` (#1742) + * Add `OrderStatus` type (#1761) + * Add `SignatureType.OrderValidator` and `SignatureType.WalletOrderValidator` (#1774) + * Update `Order` type for arbitrary fee tokens (ZEIP-28). (#1819) + * Add `expirationTimeSeconds` to `ZeroExTransaction` type (#1832) + * Add `TransfersSuccessful` revert reason and `OrderTransferResults` enum (#1868) + * Consolidate all Validator `SignatureType`s to just `Validator` (#1885) + * Add `EIP1271Wallet` to `SignatureType` (#1885) ## v2.2.2 - _April 11, 2019_ diff --git a/packages/types/package.json b/packages/types/package.json index df635d747c..3848789982 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@0x/types", - "version": "2.4.3", + "version": "2.5.0-beta.0", "engines": { "node": ">=6.12" }, @@ -32,7 +32,7 @@ "dependencies": { "@types/node": "*", "bignumber.js": "~8.0.2", - "ethereum-types": "^2.1.6" + "ethereum-types": "^2.2.0-beta.0" }, "publishConfig": { "access": "public" diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index b4c2c09c39..64fa91da2f 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -1,7 +1,14 @@ // tslint:disable:max-file-line-count import { BigNumber } from 'bignumber.js'; -import { ContractAbi, ContractNetworks, DevdocOutput } from 'ethereum-types'; +import { + ContractAbi, + ContractEventArg, + ContractNetworks, + DecodedLogArgs, + DevdocOutput, + LogWithDecodedArgs, +} from 'ethereum-types'; export interface Order { chainId: number; @@ -158,6 +165,7 @@ export enum AssetProxyId { MultiAsset = '0x94cfcdd7', ERC1155 = '0xa7cb5fb7', StaticCall = '0xc339d10a', + ERC20Bridge = '0xdc1600f3', } export interface ERC20AssetData { @@ -428,6 +436,8 @@ export interface OrdersRequestOpts { senderAddress?: string; makerAssetData?: string; takerAssetData?: string; + makerFeeAssetData?: string; + takerFeeAssetData?: string; makerAddress?: string; takerAddress?: string; traderAddress?: string; @@ -467,6 +477,8 @@ export interface OrderConfigResponse { takerFee: BigNumber; feeRecipientAddress: string; senderAddress: string; + makerFeeAssetData: string; + takerFeeAssetData: string; } export type FeeRecipientsResponse = PaginatedCollection; @@ -836,3 +848,17 @@ export interface OrderInfo { orderHash: string; orderTakerAssetFilledAmount: BigNumber; } + +export interface DecodedLogEvent { + isRemoved: boolean; + log: LogWithDecodedArgs; +} + +export type EventCallback = ( + err: null | Error, + log?: DecodedLogEvent, +) => void; + +export interface IndexedFilterValues { + [index: string]: ContractEventArg; +} diff --git a/packages/typescript-typings/CHANGELOG.json b/packages/typescript-typings/CHANGELOG.json index 5c60331f4b..f5c199d24b 100644 --- a/packages/typescript-typings/CHANGELOG.json +++ b/packages/typescript-typings/CHANGELOG.json @@ -1,12 +1,13 @@ [ { - "version": "4.4.0", + "version": "4.4.0-beta.0", "changes": [ { "note": "Add types for `@0x/dev-utils` chai helpers in `types/@0x`", "pr": 1761 } - ] + ], + "timestamp": 1570135330 }, { "version": "4.3.0", diff --git a/packages/typescript-typings/CHANGELOG.md b/packages/typescript-typings/CHANGELOG.md index f606c4c11a..d24bc819e5 100644 --- a/packages/typescript-typings/CHANGELOG.md +++ b/packages/typescript-typings/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.4.0-beta.0 - _October 3, 2019_ + + * Add types for `@0x/dev-utils` chai helpers in `types/@0x` (#1761) + ## v4.3.0 - _September 17, 2019_ * Add declaration for `ethereumjs-vm` (#2108) diff --git a/packages/typescript-typings/package.json b/packages/typescript-typings/package.json index 6e023b6039..6134d63544 100644 --- a/packages/typescript-typings/package.json +++ b/packages/typescript-typings/package.json @@ -1,6 +1,6 @@ { "name": "@0x/typescript-typings", - "version": "4.3.0", + "version": "4.4.0-beta.0", "engines": { "node": ">=6.12" }, @@ -27,7 +27,7 @@ "@types/bn.js": "^4.11.0", "@types/react": "*", "bignumber.js": "~8.0.2", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "popper.js": "1.14.3" }, "devDependencies": { diff --git a/packages/typescript-typings/types/@0x/index.d.ts b/packages/typescript-typings/types/@0x/index.d.ts deleted file mode 100644 index 123fe211f9..0000000000 --- a/packages/typescript-typings/types/@0x/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -// tslint:disable: no-namespace -declare namespace Chai { - interface Assertion { - revertWith: (expected: string | RevertError) => Promise; - } -} diff --git a/packages/utils/CHANGELOG.json b/packages/utils/CHANGELOG.json index d3a23a7d04..c9fd40d73f 100644 --- a/packages/utils/CHANGELOG.json +++ b/packages/utils/CHANGELOG.json @@ -1,6 +1,6 @@ [ { - "version": "4.6.0", + "version": "4.6.0-beta.0", "changes": [ { "note": "Allow for array types in `RevertError`s.", @@ -26,7 +26,8 @@ "note": "Rename `length` field of `AuthorizableRevertErrors.IndexOutOfBoundsError` type to `len`.", "pr": 2109 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index d0477d2a59..deed673b2c 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.6.0-beta.0 - _October 3, 2019_ + + * Allow for array types in `RevertError`s. (#2075) + * Have Ganache `Error` -> `RevertError` coercion fail if it can't look up the selector. (#2109) + * Add `LibFixedMath` `RevertError` types. (#2109) + * Add `RawRevertError` `RevertError` type. (#2109) + * Make `RevertError.decode()` optionally return a `RawRevertError` if the selector is unknown. (#2109) + * Rename `length` field of `AuthorizableRevertErrors.IndexOutOfBoundsError` type to `len`. (#2109) + ## v4.5.2 - _September 17, 2019_ * Dependencies updated @@ -15,6 +24,7 @@ CHANGELOG ## v4.5.0 - _August 8, 2019_ + * Add `SafeMathRevertErrors.SafeMathErrorCodes.Uint256DivisionByZero` (#2031) * Updated to include `strictDecode` for decoding method arguments (#2018) * Throw exception when trying to decode beyond boundaries of calldata (#2018) @@ -29,6 +39,12 @@ CHANGELOG ## v4.4.0 - _July 13, 2019_ * Add function deleteNestedProperty (#1842) + * Add `getChainIdAsync()` to `providerUtils` (#1742) + * More robust normalization of `uint256` types in `sign_typed_data_utils` (#1742) + * Add `RevertError`, `StringRevertError`, `AnyRevertError` types and associated utilities (#1761) + * Update `RevertError` construction to produce a readable `Error` message (#1819) + * Add `Error` -> `RevertError` functions (#1819) + * Add `toStringTag` symbol to `RevertError` (#1885) ## v4.3.3 - _May 10, 2019_ diff --git a/packages/utils/package.json b/packages/utils/package.json index 71762744cd..61ee6cb720 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/utils", - "version": "4.5.2", + "version": "4.6.0-beta.0", "engines": { "node": ">=6.12" }, @@ -45,14 +45,14 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/types": "^2.4.3", - "@0x/typescript-typings": "^4.3.0", + "@0x/types": "^2.5.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", "@types/node": "*", "abortcontroller-polyfill": "^1.1.9", "bignumber.js": "~8.0.2", "chalk": "^2.3.0", "detect-node": "2.0.3", - "ethereum-types": "^2.1.6", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", "isomorphic-fetch": "2.2.1", diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 4433e4eac7..67375e0eaf 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,10 +1,10 @@ -import * as AuthorizableRevertErrors from './authorizable_revert_errors'; -import * as FixedMathRevertErrors from './fixed_math_revert_errors'; -import * as LibAddressArrayRevertErrors from './lib_address_array_revert_errors'; -import * as LibBytesRevertErrors from './lib_bytes_revert_errors'; -import * as OwnableRevertErrors from './ownable_revert_errors'; -import * as ReentrancyGuardRevertErrors from './reentrancy_guard_revert_errors'; -import * as SafeMathRevertErrors from './safe_math_revert_errors'; +export import AuthorizableRevertErrors = require('./authorizable_revert_errors'); +export import FixedMathRevertErrors = require('./fixed_math_revert_errors'); +export import LibAddressArrayRevertErrors = require('./lib_address_array_revert_errors'); +export import LibBytesRevertErrors = require('./lib_bytes_revert_errors'); +export import OwnableRevertErrors = require('./ownable_revert_errors'); +export import ReentrancyGuardRevertErrors = require('./reentrancy_guard_revert_errors'); +export import SafeMathRevertErrors = require('./safe_math_revert_errors'); export { promisify } from './promisify'; export { addressUtils } from './address_utils'; @@ -33,13 +33,3 @@ export { StringRevertError, AnyRevertError, } from './revert_error'; - -export { - AuthorizableRevertErrors, - FixedMathRevertErrors, - LibAddressArrayRevertErrors, - LibBytesRevertErrors, - OwnableRevertErrors, - ReentrancyGuardRevertErrors, - SafeMathRevertErrors, -}; diff --git a/packages/utils/src/revert_error.ts b/packages/utils/src/revert_error.ts index 0df9302a59..515950850c 100644 --- a/packages/utils/src/revert_error.ts +++ b/packages/utils/src/revert_error.ts @@ -351,7 +351,7 @@ export function getThrownErrorRevertErrorBytes(error: Error | GanacheTransaction // so we do nothing. } } - throw new Error(`Cannot decode thrown Errror "${error.message}" as a RevertError`); + throw new Error(`Cannot decode thrown Error "${error.message}" as a RevertError`); } function isGanacheTransactionRevertError( diff --git a/packages/web3-wrapper/CHANGELOG.json b/packages/web3-wrapper/CHANGELOG.json index 7781956917..427b1e2a74 100644 --- a/packages/web3-wrapper/CHANGELOG.json +++ b/packages/web3-wrapper/CHANGELOG.json @@ -1,12 +1,13 @@ [ { - "version": "6.0.14", + "version": "6.1.0-beta.0", "changes": [ { "note": "Let `toBaseUnitAmount()` accept a `number`", "pr": 1819 } - ] + ], + "timestamp": 1570135330 }, { "timestamp": 1568744790, diff --git a/packages/web3-wrapper/CHANGELOG.md b/packages/web3-wrapper/CHANGELOG.md index d323f93d57..258eda180e 100644 --- a/packages/web3-wrapper/CHANGELOG.md +++ b/packages/web3-wrapper/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v6.1.0-beta.0 - _October 3, 2019_ + + * Let `toBaseUnitAmount()` accept a `number` (#1819) + ## v6.0.13 - _September 17, 2019_ * Dependencies updated diff --git a/packages/web3-wrapper/docs/reference.mdx b/packages/web3-wrapper/docs/reference.mdx index 10aa3a1a3e..60eab6fac1 100644 --- a/packages/web3-wrapper/docs/reference.mdx +++ b/packages/web3-wrapper/docs/reference.mdx @@ -1,37 +1,95 @@ -# Interface: JSONRPCResponsePayload +# Class: AbiDecoder +AbiDecoder allows you to decode event logs given a set of supplied contract ABI's. It takes the contract's event +signature from the ABI and attempts to decode the logs using it. -## Properties -### `Optional` error +## Constructors -• **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -*Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* -___ +\+ **new AbiDecoder**(`abiArrays`: [AbiDefinition](#abidefinition)[][]): *[AbiDecoder](#class-abidecoder)* -### id +*Defined in [utils/src/abi_decoder.ts:42](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L42)* -• **id**: *number* +Instantiate an AbiDecoder + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`abiArrays` | [AbiDefinition](#abidefinition)[][] | An array of contract ABI's | + +**Returns:** *[AbiDecoder](#class-abidecoder)* + +AbiDecoder instance + +## Methods + +### addABI + +▸ **addABI**(`abiArray`: [AbiDefinition](#abidefinition)[], `contractName?`: undefined | string): *void* + +*Defined in [utils/src/abi_decoder.ts:158](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L158)* + +Adds a set of ABI definitions, after which calldata and logs targeting these ABI's can be decoded. +Additional properties can be included to disambiguate similar ABI's. For example, if two functions +have the same signature but different parameter names, then their ABI definitions can be disambiguated +by specifying a contract name. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`abiArray` | [AbiDefinition](#abidefinition)[] | - | +`contractName?` | undefined \| string | Name of contract that encapsulates the ABI definitions (optional). This can be used when decoding calldata to disambiguate methods with the same signature but different parameter names. | -*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* +**Returns:** *void* ___ -### jsonrpc +### decodeCalldataOrThrow -• **jsonrpc**: *string* +▸ **decodeCalldataOrThrow**(`calldata`: string, `contractName?`: undefined | string): *`DecodedCalldata`* + +*Defined in [utils/src/abi_decoder.ts:118](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L118)* + +Decodes calldata for a known ABI. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`calldata` | string | hex-encoded calldata. | +`contractName?` | undefined \| string | used to disambiguate similar ABI's (optional). | + +**Returns:** *`DecodedCalldata`* -*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* +Decoded calldata. Includes: function name and signature, along with the decoded arguments. ___ -### result +### tryToDecodeLogOrNoop -• **result**: *any* +▸ **tryToDecodeLogOrNoop**<**ArgsType**>(`log`: `LogEntry`): *`LogWithDecodedArgs` | [RawLog](#rawlog)* + +*Defined in [utils/src/abi_decoder.ts:58](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/utils/src/abi_decoder.ts#L58)* + +Attempt to decode a log given the ABI's the AbiDecoder knows about. + +**Type parameters:** + +▪ **ArgsType**: *`DecodedLogArgs`* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`log` | `LogEntry` | The log to attempt to decode | -*Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)* +**Returns:** *`LogWithDecodedArgs` | [RawLog](#rawlog)* + +The decoded log if the requisite ABI was available. Otherwise the log unaltered.
@@ -46,7 +104,7 @@ An alternative to the Web3.js library that provides a consistent, clean, promise \+ **new Web3Wrapper**(`supportedProvider`: [SupportedProvider](#supportedprovider), `callAndTxnDefaults`: `Partial`): *[Web3Wrapper](#class-web3wrapper)* -*Defined in [web3-wrapper/src/web3_wrapper.ts:145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L145)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:144](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L144)* Instantiates a new Web3Wrapper. @@ -67,7 +125,7 @@ An instance of the Web3Wrapper class. • **abiDecoder**: *`AbiDecoder`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L54)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L54)* ___ @@ -75,7 +133,7 @@ ___ • **isZeroExWeb3Wrapper**: *boolean* = true -*Defined in [web3-wrapper/src/web3_wrapper.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L53)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L53)* Flag to check if this instance is of type Web3Wrapper @@ -85,7 +143,7 @@ Flag to check if this instance is of type Web3Wrapper ▸ **awaitTransactionMinedAsync**(`txHash`: string, `pollingIntervalMs`: number, `timeoutMs?`: undefined | number): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:568](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L568)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:576](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L576)* Waits for a transaction to be mined and returns the transaction receipt. Note that just because a transaction was mined does not mean it was @@ -111,7 +169,7 @@ ___ ▸ **awaitTransactionSuccessAsync**(`txHash`: string, `pollingIntervalMs`: number, `timeoutMs?`: undefined | number): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:643](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L643)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:651](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L651)* Waits for a transaction to be mined and returns the transaction receipt. Unlike awaitTransactionMinedAsync, it will throw if the receipt has a @@ -137,7 +195,7 @@ ___ ▸ **callAsync**(`callData`: `CallData`, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:525](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L525)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:533](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L533)* Call a smart contract method at a given block height @@ -158,7 +216,7 @@ ___ ▸ **doesContractExistAtAddressAsync**(`address`: string): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L273)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L281)* Check if a contract exists at a given address @@ -178,7 +236,7 @@ ___ ▸ **estimateGasAsync**(`txData`: `Partial`): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:508](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L508)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:516](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L516)* Calculate the estimated gas cost for a given transaction @@ -198,7 +256,7 @@ ___ ▸ **getAvailableAddressesAsync**(): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:421](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L421)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L429)* Retrieve the user addresses available through the backing provider @@ -212,7 +270,7 @@ ___ ▸ **getBalanceInWeiAsync**(`owner`: string, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:254](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L254)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:262](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L262)* Retrieves an accounts Ether balance in wei @@ -233,7 +291,7 @@ ___ ▸ **getBlockIfExistsAsync**(`blockParam`: string | [BlockParam](#blockparam)): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:361](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L361)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:369](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L369)* Fetch a specific Ethereum block without transaction data @@ -254,7 +312,7 @@ ___ ▸ **getBlockNumberAsync**(): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L347)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L355)* Fetches the latest block number @@ -268,7 +326,7 @@ ___ ▸ **getBlockTimestampAsync**(`blockParam`: string | [BlockParam](#blockparam)): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:409](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L409)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L417)* Fetch a block's timestamp @@ -288,7 +346,7 @@ ___ ▸ **getBlockWithTransactionDataAsync**(`blockParam`: string | [BlockParam](#blockparam)): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L387)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:395](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L395)* Fetch a specific Ethereum block with transaction data @@ -304,11 +362,25 @@ The requested block with transaction data ___ +### getChainIdAsync + +▸ **getChainIdAsync**(): *`Promise`* + +*Defined in [web3-wrapper/src/web3_wrapper.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L215)* + +Fetches the chainId of the backing Ethereum node + +**Returns:** *`Promise`* + +The chain id + +___ + ### getContractCodeAsync ▸ **getContractCodeAsync**(`address`: string, `defaultBlock?`: [BlockParam](#blockparam)): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:286](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L286)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:294](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L294)* Gets the contract code by address @@ -329,7 +401,7 @@ ___ ▸ **getContractDefaults**(): *`Partial` | undefined* -*Defined in [web3-wrapper/src/web3_wrapper.ts:164](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L164)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:163](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L163)* Get the contract defaults set to the Web3Wrapper instance @@ -343,7 +415,7 @@ ___ ▸ **getLogsAsync**(`filter`: `FilterObject`): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L475)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L483)* Retrieve smart contract logs for a given filter @@ -363,7 +435,7 @@ ___ ▸ **getNetworkIdAsync**(): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:207](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L207)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:206](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L206)* Fetches the networkId of the backing Ethereum node @@ -377,7 +449,7 @@ ___ ▸ **getNodeTypeAsync**(): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:690](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L690)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:698](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L698)* Returns either NodeType.Geth or NodeType.Ganache depending on the type of the backing Ethereum node. Throws for any other type of node. @@ -390,7 +462,7 @@ ___ ▸ **getNodeVersionAsync**(): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:199](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L199)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:198](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L198)* Fetch the backing Ethereum node's version string (e.g `MetaMask/v4.2.0`) @@ -404,7 +476,7 @@ ___ ▸ **getProvider**(): *[SupportedProvider](#supportedprovider)* -*Defined in [web3-wrapper/src/web3_wrapper.ts:171](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L171)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:170](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L170)* Retrieve the Web3 provider @@ -418,7 +490,7 @@ ___ ▸ **getTransactionByHashAsync**(`txHash`: string): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:239](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L239)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:247](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L247)* Retrieves the transaction data for a given transaction @@ -438,7 +510,7 @@ ___ ▸ **getTransactionReceiptIfExistsAsync**(`txHash`: string): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L217)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L225)* Retrieves the transaction receipt for a given transaction hash if found @@ -458,7 +530,7 @@ ___ ▸ **getTransactionTraceAsync**(`txHash`: string, `traceParams`: `TraceParams`): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:305](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L305)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:313](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L313)* Gets the debug trace of a transaction @@ -479,7 +551,7 @@ ___ ▸ **increaseTimeAsync**(`timeDelta`: number): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:458](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L458)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:466](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L466)* Increase the next blocks timestamp on TestRPC/Ganache or Geth local node. Will throw if provider is neither TestRPC/Ganache or Geth. @@ -498,7 +570,7 @@ ___ ▸ **isSenderAddressAvailableAsync**(`senderAddress`: string): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:189](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L189)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:188](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L188)* Check whether an address is available through the backing provider. This can be useful if you want to know whether a user can sign messages or transactions from @@ -520,7 +592,7 @@ ___ ▸ **mineBlockAsync**(): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:450](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L450)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:458](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L458)* Mine a block on a TestRPC/Ganache local node @@ -532,7 +604,7 @@ ___ ▸ **revertSnapshotAsync**(`snapshotId`: number): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:442](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L442)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:450](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L450)* Revert the blockchain state to a previous snapshot state on TestRPC/Ganache local node @@ -552,7 +624,7 @@ ___ ▸ **sendRawPayloadAsync**<**A**>(`payload`: `Partial`): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:671](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L671)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:679](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L679)* Sends a raw Ethereum JSON RPC payload and returns the response's `result` key @@ -576,7 +648,7 @@ ___ ▸ **sendTransactionAsync**(`txData`: `TxData`): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:547](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L547)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:555](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L555)* Send a transaction @@ -596,7 +668,7 @@ ___ ▸ **setHeadAsync**(`blockNumber`: number): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:662](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L662)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:670](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L670)* Calls the 'debug_setHead' JSON RPC method, which sets the current head of the local chain by block number. Note, this is a destructive action and @@ -618,7 +690,7 @@ ___ ▸ **setProvider**(`supportedProvider`: [SupportedProvider](#supportedprovider)): *void* -*Defined in [web3-wrapper/src/web3_wrapper.ts:178](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L178)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:177](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L177)* Update the used Web3 provider @@ -636,7 +708,7 @@ ___ ▸ **signMessageAsync**(`address`: string, `message`: string): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:319](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L319)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:327](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L327)* Sign a message with a specific address's private key (`eth_sign`) @@ -657,7 +729,7 @@ ___ ▸ **signTypedDataAsync**(`address`: string, `typedData`: any): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L334)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L342)* Sign an EIP712 typed data message with a specific address's private key (`eth_signTypedData`) @@ -678,7 +750,7 @@ ___ ▸ **takeSnapshotAsync**(): *`Promise`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:433](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L433)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:441](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L441)* Take a snapshot of the blockchain state on a TestRPC/Ganache local node @@ -692,7 +764,7 @@ ___ ▸ **isAddress**(`address`: string): *boolean* -*Defined in [web3-wrapper/src/web3_wrapper.ts:65](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L65)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:65](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L65)* Check if an address is a valid Ethereum address @@ -710,9 +782,9 @@ ___ ### `Static` toBaseUnitAmount -▸ **toBaseUnitAmount**(`amount`: `BigNumber`, `decimals`: number): *`BigNumber`* +▸ **toBaseUnitAmount**(`amount`: `BigNumber` | number, `decimals`: number): *`BigNumber`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L91)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L91)* A baseUnit is defined as the smallest denomination of a token. An amount expressed in baseUnits is the amount expressed in the smallest denomination. @@ -722,7 +794,7 @@ E.g: 1 unit of a token with 18 decimal places is expressed in baseUnits as 10000 Name | Type | Description | ------ | ------ | ------ | -`amount` | `BigNumber` | The amount of units that you would like converted to baseUnits. | +`amount` | `BigNumber` \| number | The amount of units that you would like converted to baseUnits. | `decimals` | number | The number of decimal places the unit amount has. | **Returns:** *`BigNumber`* @@ -735,7 +807,7 @@ ___ ▸ **toUnitAmount**(`amount`: `BigNumber`, `decimals`: number): *`BigNumber`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:76](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L76)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:76](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L76)* A unit amount is defined as the amount of a token above the specified decimal places (integer part). E.g: If a currency has 18 decimal places, 1e18 or one quintillion of the currency is equivalent @@ -758,7 +830,7 @@ ___ ▸ **toWei**(`ethAmount`: `BigNumber`): *`BigNumber`* -*Defined in [web3-wrapper/src/web3_wrapper.ts:107](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/web3_wrapper.ts#L107)* +*Defined in [web3-wrapper/src/web3_wrapper.ts:106](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/web3_wrapper.ts#L106)* Convert an Ether amount from ETH to Wei @@ -785,7 +857,7 @@ Amount in wei • **Earliest**: = "earliest" -*Defined in [ethereum-types/src/index.ts:470](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L470)* +*Defined in [ethereum-types/src/index.ts:478](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L478)* ___ @@ -793,7 +865,7 @@ ___ • **Latest**: = "latest" -*Defined in [ethereum-types/src/index.ts:471](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L471)* +*Defined in [ethereum-types/src/index.ts:479](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L479)* ___ @@ -801,7 +873,7 @@ ___ • **Pending**: = "pending" -*Defined in [ethereum-types/src/index.ts:472](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L472)* +*Defined in [ethereum-types/src/index.ts:480](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L480)*
@@ -814,7 +886,7 @@ ___ • **Add**: = "ADD" -*Defined in [ethereum-types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L141)* +*Defined in [ethereum-types/src/index.ts:147](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L147)* ___ @@ -822,7 +894,7 @@ ___ • **AddMod**: = "ADDMOD" -*Defined in [ethereum-types/src/index.ts:148](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L148)* +*Defined in [ethereum-types/src/index.ts:154](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L154)* ___ @@ -830,7 +902,7 @@ ___ • **Address**: = "ADDRESS" -*Defined in [ethereum-types/src/index.ts:167](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L167)* +*Defined in [ethereum-types/src/index.ts:173](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L173)* ___ @@ -838,7 +910,7 @@ ___ • **And**: = "AND" -*Defined in [ethereum-types/src/index.ts:159](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L159)* +*Defined in [ethereum-types/src/index.ts:165](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L165)* ___ @@ -846,7 +918,7 @@ ___ • **Balance**: = "BALANCE" -*Defined in [ethereum-types/src/index.ts:168](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L168)* +*Defined in [ethereum-types/src/index.ts:174](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L174)* ___ @@ -854,7 +926,7 @@ ___ • **BlockHash**: = "BLOCKHASH" -*Defined in [ethereum-types/src/index.ts:183](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L183)* +*Defined in [ethereum-types/src/index.ts:189](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L189)* ___ @@ -862,7 +934,7 @@ ___ • **Byte**: = "BYTE" -*Defined in [ethereum-types/src/index.ts:163](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L163)* +*Defined in [ethereum-types/src/index.ts:169](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L169)* ___ @@ -870,7 +942,7 @@ ___ • **Call**: = "CALL" -*Defined in [ethereum-types/src/index.ts:276](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L276)* +*Defined in [ethereum-types/src/index.ts:282](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L282)* ___ @@ -878,7 +950,7 @@ ___ • **CallCode**: = "CALLCODE" -*Defined in [ethereum-types/src/index.ts:277](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L277)* +*Defined in [ethereum-types/src/index.ts:283](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L283)* ___ @@ -886,7 +958,7 @@ ___ • **CallDataCopy**: = "CALLDATACOPY" -*Defined in [ethereum-types/src/index.ts:174](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L174)* +*Defined in [ethereum-types/src/index.ts:180](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L180)* ___ @@ -894,7 +966,7 @@ ___ • **CallDataLoad**: = "CALLDATALOAD" -*Defined in [ethereum-types/src/index.ts:172](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L172)* +*Defined in [ethereum-types/src/index.ts:178](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L178)* ___ @@ -902,7 +974,7 @@ ___ • **CallDataSize**: = "CALLDATASIZE" -*Defined in [ethereum-types/src/index.ts:173](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L173)* +*Defined in [ethereum-types/src/index.ts:179](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L179)* ___ @@ -910,7 +982,7 @@ ___ • **CallValue**: = "CALLVALUE" -*Defined in [ethereum-types/src/index.ts:171](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L171)* +*Defined in [ethereum-types/src/index.ts:177](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L177)* ___ @@ -918,7 +990,7 @@ ___ • **Caller**: = "CALLER" -*Defined in [ethereum-types/src/index.ts:170](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L170)* +*Defined in [ethereum-types/src/index.ts:176](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L176)* ___ @@ -926,7 +998,7 @@ ___ • **CodeCopy**: = "CODECOPY" -*Defined in [ethereum-types/src/index.ts:176](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L176)* +*Defined in [ethereum-types/src/index.ts:182](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L182)* ___ @@ -934,7 +1006,7 @@ ___ • **CodeSize**: = "CODESIZE" -*Defined in [ethereum-types/src/index.ts:175](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L175)* +*Defined in [ethereum-types/src/index.ts:181](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L181)* ___ @@ -942,7 +1014,7 @@ ___ • **Coinbase**: = "COINBASE" -*Defined in [ethereum-types/src/index.ts:184](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L184)* +*Defined in [ethereum-types/src/index.ts:190](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L190)* ___ @@ -950,7 +1022,7 @@ ___ • **Create**: = "CREATE" -*Defined in [ethereum-types/src/index.ts:275](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L275)* +*Defined in [ethereum-types/src/index.ts:281](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L281)* ___ @@ -958,7 +1030,7 @@ ___ • **DelegateCall**: = "DELEGATECALL" -*Defined in [ethereum-types/src/index.ts:279](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L279)* +*Defined in [ethereum-types/src/index.ts:285](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L285)* ___ @@ -966,7 +1038,7 @@ ___ • **Difficulty**: = "DIFFICULTY" -*Defined in [ethereum-types/src/index.ts:187](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L187)* +*Defined in [ethereum-types/src/index.ts:193](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L193)* ___ @@ -974,7 +1046,7 @@ ___ • **Div**: = "DIV" -*Defined in [ethereum-types/src/index.ts:144](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L144)* +*Defined in [ethereum-types/src/index.ts:150](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L150)* ___ @@ -982,7 +1054,7 @@ ___ • **Dup1**: = "DUP1" -*Defined in [ethereum-types/src/index.ts:236](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L236)* +*Defined in [ethereum-types/src/index.ts:242](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L242)* ___ @@ -990,7 +1062,7 @@ ___ • **Dup10**: = "DUP10" -*Defined in [ethereum-types/src/index.ts:245](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L245)* +*Defined in [ethereum-types/src/index.ts:251](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L251)* ___ @@ -998,7 +1070,7 @@ ___ • **Dup11**: = "DUP11" -*Defined in [ethereum-types/src/index.ts:246](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L246)* +*Defined in [ethereum-types/src/index.ts:252](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L252)* ___ @@ -1006,7 +1078,7 @@ ___ • **Dup12**: = "DUP12" -*Defined in [ethereum-types/src/index.ts:247](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L247)* +*Defined in [ethereum-types/src/index.ts:253](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L253)* ___ @@ -1014,7 +1086,7 @@ ___ • **Dup13**: = "DUP13" -*Defined in [ethereum-types/src/index.ts:248](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L248)* +*Defined in [ethereum-types/src/index.ts:254](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L254)* ___ @@ -1022,7 +1094,7 @@ ___ • **Dup14**: = "DUP14" -*Defined in [ethereum-types/src/index.ts:249](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L249)* +*Defined in [ethereum-types/src/index.ts:255](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L255)* ___ @@ -1030,7 +1102,7 @@ ___ • **Dup15**: = "DUP15" -*Defined in [ethereum-types/src/index.ts:250](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L250)* +*Defined in [ethereum-types/src/index.ts:256](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L256)* ___ @@ -1038,7 +1110,7 @@ ___ • **Dup16**: = "DUP16" -*Defined in [ethereum-types/src/index.ts:251](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L251)* +*Defined in [ethereum-types/src/index.ts:257](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L257)* ___ @@ -1046,7 +1118,7 @@ ___ • **Dup2**: = "DUP2" -*Defined in [ethereum-types/src/index.ts:237](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L237)* +*Defined in [ethereum-types/src/index.ts:243](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L243)* ___ @@ -1054,7 +1126,7 @@ ___ • **Dup3**: = "DUP3" -*Defined in [ethereum-types/src/index.ts:238](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L238)* +*Defined in [ethereum-types/src/index.ts:244](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L244)* ___ @@ -1062,7 +1134,7 @@ ___ • **Dup4**: = "DUP4" -*Defined in [ethereum-types/src/index.ts:239](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L239)* +*Defined in [ethereum-types/src/index.ts:245](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L245)* ___ @@ -1070,7 +1142,7 @@ ___ • **Dup5**: = "DUP5" -*Defined in [ethereum-types/src/index.ts:240](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L240)* +*Defined in [ethereum-types/src/index.ts:246](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L246)* ___ @@ -1078,7 +1150,7 @@ ___ • **Dup6**: = "DUP6" -*Defined in [ethereum-types/src/index.ts:241](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L241)* +*Defined in [ethereum-types/src/index.ts:247](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L247)* ___ @@ -1086,7 +1158,7 @@ ___ • **Dup7**: = "DUP7" -*Defined in [ethereum-types/src/index.ts:242](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L242)* +*Defined in [ethereum-types/src/index.ts:248](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L248)* ___ @@ -1094,7 +1166,7 @@ ___ • **Dup8**: = "DUP8" -*Defined in [ethereum-types/src/index.ts:243](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L243)* +*Defined in [ethereum-types/src/index.ts:249](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L249)* ___ @@ -1102,7 +1174,7 @@ ___ • **Dup9**: = "DUP9" -*Defined in [ethereum-types/src/index.ts:244](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L244)* +*Defined in [ethereum-types/src/index.ts:250](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L250)* ___ @@ -1110,7 +1182,7 @@ ___ • **Eq**: = "EQ" -*Defined in [ethereum-types/src/index.ts:157](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L157)* +*Defined in [ethereum-types/src/index.ts:163](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L163)* ___ @@ -1118,7 +1190,7 @@ ___ • **Exp**: = "EXP" -*Defined in [ethereum-types/src/index.ts:150](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L150)* +*Defined in [ethereum-types/src/index.ts:156](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L156)* ___ @@ -1126,7 +1198,7 @@ ___ • **ExtCodeCopy**: = "EXTCODECOPY" -*Defined in [ethereum-types/src/index.ts:179](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L179)* +*Defined in [ethereum-types/src/index.ts:185](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L185)* ___ @@ -1134,7 +1206,7 @@ ___ • **ExtCodeSize**: = "EXTCODESIZE" -*Defined in [ethereum-types/src/index.ts:178](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L178)* +*Defined in [ethereum-types/src/index.ts:184](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L184)* ___ @@ -1142,7 +1214,7 @@ ___ • **Gas**: = "GAS" -*Defined in [ethereum-types/src/index.ts:200](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L200)* +*Defined in [ethereum-types/src/index.ts:206](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L206)* ___ @@ -1150,7 +1222,7 @@ ___ • **GasPrice**: = "GASPRICE" -*Defined in [ethereum-types/src/index.ts:177](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L177)* +*Defined in [ethereum-types/src/index.ts:183](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L183)* ___ @@ -1158,7 +1230,7 @@ ___ • **Gaslimit**: = "GASLIMIT" -*Defined in [ethereum-types/src/index.ts:188](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L188)* +*Defined in [ethereum-types/src/index.ts:194](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L194)* ___ @@ -1166,7 +1238,7 @@ ___ • **Gt**: = "GT" -*Defined in [ethereum-types/src/index.ts:154](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L154)* +*Defined in [ethereum-types/src/index.ts:160](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L160)* ___ @@ -1174,7 +1246,7 @@ ___ • **Invalid**: = "INVALID" -*Defined in [ethereum-types/src/index.ts:282](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L282)* +*Defined in [ethereum-types/src/index.ts:288](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L288)* ___ @@ -1182,7 +1254,7 @@ ___ • **IsZero**: = "ISZERO" -*Defined in [ethereum-types/src/index.ts:158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L158)* +*Defined in [ethereum-types/src/index.ts:164](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L164)* ___ @@ -1190,7 +1262,7 @@ ___ • **Jump**: = "JUMP" -*Defined in [ethereum-types/src/index.ts:196](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L196)* +*Defined in [ethereum-types/src/index.ts:202](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L202)* ___ @@ -1198,7 +1270,7 @@ ___ • **JumpDest**: = "JUMPDEST" -*Defined in [ethereum-types/src/index.ts:201](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L201)* +*Defined in [ethereum-types/src/index.ts:207](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L207)* ___ @@ -1206,7 +1278,7 @@ ___ • **Jumpi**: = "JUMPI" -*Defined in [ethereum-types/src/index.ts:197](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L197)* +*Defined in [ethereum-types/src/index.ts:203](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L203)* ___ @@ -1214,7 +1286,7 @@ ___ • **Log1**: = "LOG1" -*Defined in [ethereum-types/src/index.ts:270](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L270)* +*Defined in [ethereum-types/src/index.ts:276](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L276)* ___ @@ -1222,7 +1294,7 @@ ___ • **Log2**: = "LOG2" -*Defined in [ethereum-types/src/index.ts:271](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L271)* +*Defined in [ethereum-types/src/index.ts:277](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L277)* ___ @@ -1230,7 +1302,7 @@ ___ • **Log3**: = "LOG3" -*Defined in [ethereum-types/src/index.ts:272](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L272)* +*Defined in [ethereum-types/src/index.ts:278](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L278)* ___ @@ -1238,7 +1310,7 @@ ___ • **Log4**: = "LOG4" -*Defined in [ethereum-types/src/index.ts:273](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L273)* +*Defined in [ethereum-types/src/index.ts:279](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L279)* ___ @@ -1246,7 +1318,7 @@ ___ • **Lt**: = "LT" -*Defined in [ethereum-types/src/index.ts:153](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L153)* +*Defined in [ethereum-types/src/index.ts:159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L159)* ___ @@ -1254,7 +1326,7 @@ ___ • **MLoad**: = "MLOAD" -*Defined in [ethereum-types/src/index.ts:191](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L191)* +*Defined in [ethereum-types/src/index.ts:197](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L197)* ___ @@ -1262,7 +1334,7 @@ ___ • **MSize**: = "MSIZE" -*Defined in [ethereum-types/src/index.ts:199](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L199)* +*Defined in [ethereum-types/src/index.ts:205](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L205)* ___ @@ -1270,7 +1342,7 @@ ___ • **MStore**: = "MSTORE" -*Defined in [ethereum-types/src/index.ts:192](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L192)* +*Defined in [ethereum-types/src/index.ts:198](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L198)* ___ @@ -1278,7 +1350,7 @@ ___ • **MStore8**: = "MSTORE8" -*Defined in [ethereum-types/src/index.ts:193](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L193)* +*Defined in [ethereum-types/src/index.ts:199](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L199)* ___ @@ -1286,7 +1358,7 @@ ___ • **Mod**: = "MOD" -*Defined in [ethereum-types/src/index.ts:146](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L146)* +*Defined in [ethereum-types/src/index.ts:152](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L152)* ___ @@ -1294,7 +1366,7 @@ ___ • **Mul**: = "MUL" -*Defined in [ethereum-types/src/index.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L142)* +*Defined in [ethereum-types/src/index.ts:148](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L148)* ___ @@ -1302,7 +1374,7 @@ ___ • **MulMod**: = "MULMOD" -*Defined in [ethereum-types/src/index.ts:149](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L149)* +*Defined in [ethereum-types/src/index.ts:155](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L155)* ___ @@ -1310,7 +1382,7 @@ ___ • **Not**: = "NOT" -*Defined in [ethereum-types/src/index.ts:162](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L162)* +*Defined in [ethereum-types/src/index.ts:168](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L168)* ___ @@ -1318,7 +1390,7 @@ ___ • **Number**: = "NUMBER" -*Defined in [ethereum-types/src/index.ts:186](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L186)* +*Defined in [ethereum-types/src/index.ts:192](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L192)* ___ @@ -1326,7 +1398,7 @@ ___ • **Or**: = "OR" -*Defined in [ethereum-types/src/index.ts:160](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L160)* +*Defined in [ethereum-types/src/index.ts:166](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L166)* ___ @@ -1334,7 +1406,7 @@ ___ • **Origin**: = "ORIGIN" -*Defined in [ethereum-types/src/index.ts:169](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L169)* +*Defined in [ethereum-types/src/index.ts:175](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L175)* ___ @@ -1342,7 +1414,7 @@ ___ • **Pc**: = "PC" -*Defined in [ethereum-types/src/index.ts:198](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L198)* +*Defined in [ethereum-types/src/index.ts:204](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L204)* ___ @@ -1350,7 +1422,7 @@ ___ • **Pop**: = "POP" -*Defined in [ethereum-types/src/index.ts:190](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L190)* +*Defined in [ethereum-types/src/index.ts:196](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L196)* ___ @@ -1358,7 +1430,7 @@ ___ • **Push1**: = "PUSH1" -*Defined in [ethereum-types/src/index.ts:203](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L203)* +*Defined in [ethereum-types/src/index.ts:209](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L209)* ___ @@ -1366,7 +1438,7 @@ ___ • **Push10**: = "PUSH10" -*Defined in [ethereum-types/src/index.ts:212](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L212)* +*Defined in [ethereum-types/src/index.ts:218](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L218)* ___ @@ -1374,7 +1446,7 @@ ___ • **Push11**: = "PUSH11" -*Defined in [ethereum-types/src/index.ts:213](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L213)* +*Defined in [ethereum-types/src/index.ts:219](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L219)* ___ @@ -1382,7 +1454,7 @@ ___ • **Push12**: = "PUSH12" -*Defined in [ethereum-types/src/index.ts:214](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L214)* +*Defined in [ethereum-types/src/index.ts:220](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L220)* ___ @@ -1390,7 +1462,7 @@ ___ • **Push13**: = "PUSH13" -*Defined in [ethereum-types/src/index.ts:215](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L215)* +*Defined in [ethereum-types/src/index.ts:221](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L221)* ___ @@ -1398,7 +1470,7 @@ ___ • **Push14**: = "PUSH14" -*Defined in [ethereum-types/src/index.ts:216](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L216)* +*Defined in [ethereum-types/src/index.ts:222](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L222)* ___ @@ -1406,7 +1478,7 @@ ___ • **Push15**: = "PUSH15" -*Defined in [ethereum-types/src/index.ts:217](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L217)* +*Defined in [ethereum-types/src/index.ts:223](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L223)* ___ @@ -1414,7 +1486,7 @@ ___ • **Push16**: = "PUSH16" -*Defined in [ethereum-types/src/index.ts:218](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L218)* +*Defined in [ethereum-types/src/index.ts:224](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L224)* ___ @@ -1422,7 +1494,7 @@ ___ • **Push17**: = "PUSH17" -*Defined in [ethereum-types/src/index.ts:219](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L219)* +*Defined in [ethereum-types/src/index.ts:225](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L225)* ___ @@ -1430,7 +1502,7 @@ ___ • **Push18**: = "PUSH18" -*Defined in [ethereum-types/src/index.ts:220](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L220)* +*Defined in [ethereum-types/src/index.ts:226](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L226)* ___ @@ -1438,7 +1510,7 @@ ___ • **Push19**: = "PUSH19" -*Defined in [ethereum-types/src/index.ts:221](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L221)* +*Defined in [ethereum-types/src/index.ts:227](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L227)* ___ @@ -1446,7 +1518,7 @@ ___ • **Push2**: = "PUSH2" -*Defined in [ethereum-types/src/index.ts:204](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L204)* +*Defined in [ethereum-types/src/index.ts:210](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L210)* ___ @@ -1454,7 +1526,7 @@ ___ • **Push20**: = "PUSH20" -*Defined in [ethereum-types/src/index.ts:222](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L222)* +*Defined in [ethereum-types/src/index.ts:228](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L228)* ___ @@ -1462,7 +1534,7 @@ ___ • **Push21**: = "PUSH21" -*Defined in [ethereum-types/src/index.ts:223](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L223)* +*Defined in [ethereum-types/src/index.ts:229](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L229)* ___ @@ -1470,7 +1542,7 @@ ___ • **Push22**: = "PUSH22" -*Defined in [ethereum-types/src/index.ts:224](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L224)* +*Defined in [ethereum-types/src/index.ts:230](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L230)* ___ @@ -1478,7 +1550,7 @@ ___ • **Push23**: = "PUSH23" -*Defined in [ethereum-types/src/index.ts:225](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L225)* +*Defined in [ethereum-types/src/index.ts:231](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L231)* ___ @@ -1486,7 +1558,7 @@ ___ • **Push24**: = "PUSH24" -*Defined in [ethereum-types/src/index.ts:226](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L226)* +*Defined in [ethereum-types/src/index.ts:232](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L232)* ___ @@ -1494,7 +1566,7 @@ ___ • **Push25**: = "PUSH25" -*Defined in [ethereum-types/src/index.ts:227](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L227)* +*Defined in [ethereum-types/src/index.ts:233](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L233)* ___ @@ -1502,7 +1574,7 @@ ___ • **Push26**: = "PUSH26" -*Defined in [ethereum-types/src/index.ts:228](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L228)* +*Defined in [ethereum-types/src/index.ts:234](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L234)* ___ @@ -1510,7 +1582,7 @@ ___ • **Push27**: = "PUSH27" -*Defined in [ethereum-types/src/index.ts:229](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L229)* +*Defined in [ethereum-types/src/index.ts:235](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L235)* ___ @@ -1518,7 +1590,7 @@ ___ • **Push28**: = "PUSH28" -*Defined in [ethereum-types/src/index.ts:230](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L230)* +*Defined in [ethereum-types/src/index.ts:236](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L236)* ___ @@ -1526,7 +1598,7 @@ ___ • **Push29**: = "PUSH29" -*Defined in [ethereum-types/src/index.ts:231](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L231)* +*Defined in [ethereum-types/src/index.ts:237](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L237)* ___ @@ -1534,7 +1606,7 @@ ___ • **Push3**: = "PUSH3" -*Defined in [ethereum-types/src/index.ts:205](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L205)* +*Defined in [ethereum-types/src/index.ts:211](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L211)* ___ @@ -1542,7 +1614,7 @@ ___ • **Push30**: = "PUSH30" -*Defined in [ethereum-types/src/index.ts:232](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L232)* +*Defined in [ethereum-types/src/index.ts:238](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L238)* ___ @@ -1550,7 +1622,7 @@ ___ • **Push31**: = "PUSH31" -*Defined in [ethereum-types/src/index.ts:233](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L233)* +*Defined in [ethereum-types/src/index.ts:239](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L239)* ___ @@ -1558,7 +1630,7 @@ ___ • **Push32**: = "PUSH32" -*Defined in [ethereum-types/src/index.ts:234](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L234)* +*Defined in [ethereum-types/src/index.ts:240](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L240)* ___ @@ -1566,7 +1638,7 @@ ___ • **Push4**: = "PUSH4" -*Defined in [ethereum-types/src/index.ts:206](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L206)* +*Defined in [ethereum-types/src/index.ts:212](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L212)* ___ @@ -1574,7 +1646,7 @@ ___ • **Push5**: = "PUSH5" -*Defined in [ethereum-types/src/index.ts:207](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L207)* +*Defined in [ethereum-types/src/index.ts:213](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L213)* ___ @@ -1582,7 +1654,7 @@ ___ • **Push6**: = "PUSH6" -*Defined in [ethereum-types/src/index.ts:208](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L208)* +*Defined in [ethereum-types/src/index.ts:214](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L214)* ___ @@ -1590,7 +1662,7 @@ ___ • **Push7**: = "PUSH7" -*Defined in [ethereum-types/src/index.ts:209](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L209)* +*Defined in [ethereum-types/src/index.ts:215](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L215)* ___ @@ -1598,7 +1670,7 @@ ___ • **Push8**: = "PUSH8" -*Defined in [ethereum-types/src/index.ts:210](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L210)* +*Defined in [ethereum-types/src/index.ts:216](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L216)* ___ @@ -1606,7 +1678,7 @@ ___ • **Push9**: = "PUSH9" -*Defined in [ethereum-types/src/index.ts:211](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L211)* +*Defined in [ethereum-types/src/index.ts:217](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L217)* ___ @@ -1614,7 +1686,7 @@ ___ • **Return**: = "RETURN" -*Defined in [ethereum-types/src/index.ts:278](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L278)* +*Defined in [ethereum-types/src/index.ts:284](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L284)* ___ @@ -1622,7 +1694,7 @@ ___ • **ReturnDataCopy**: = "RETURNDATACOPY" -*Defined in [ethereum-types/src/index.ts:181](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L181)* +*Defined in [ethereum-types/src/index.ts:187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L187)* ___ @@ -1630,7 +1702,7 @@ ___ • **ReturnDataSize**: = "RETURNDATASIZE" -*Defined in [ethereum-types/src/index.ts:180](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L180)* +*Defined in [ethereum-types/src/index.ts:186](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L186)* ___ @@ -1638,7 +1710,7 @@ ___ • **Revert**: = "REVERT" -*Defined in [ethereum-types/src/index.ts:281](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L281)* +*Defined in [ethereum-types/src/index.ts:287](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L287)* ___ @@ -1646,7 +1718,7 @@ ___ • **SDiv**: = "SDIV" -*Defined in [ethereum-types/src/index.ts:145](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L145)* +*Defined in [ethereum-types/src/index.ts:151](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L151)* ___ @@ -1654,7 +1726,7 @@ ___ • **SGt**: = "SGT" -*Defined in [ethereum-types/src/index.ts:156](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L156)* +*Defined in [ethereum-types/src/index.ts:162](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L162)* ___ @@ -1662,7 +1734,7 @@ ___ • **SLoad**: = "SLOAD" -*Defined in [ethereum-types/src/index.ts:194](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L194)* +*Defined in [ethereum-types/src/index.ts:200](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L200)* ___ @@ -1670,7 +1742,7 @@ ___ • **SLt**: = "SLT" -*Defined in [ethereum-types/src/index.ts:155](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L155)* +*Defined in [ethereum-types/src/index.ts:161](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L161)* ___ @@ -1678,7 +1750,7 @@ ___ • **SMod**: = "SMOD" -*Defined in [ethereum-types/src/index.ts:147](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L147)* +*Defined in [ethereum-types/src/index.ts:153](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L153)* ___ @@ -1686,7 +1758,7 @@ ___ • **SStore**: = "SSTORE" -*Defined in [ethereum-types/src/index.ts:195](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L195)* +*Defined in [ethereum-types/src/index.ts:201](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L201)* ___ @@ -1694,7 +1766,7 @@ ___ • **SelfDestruct**: = "SELFDESTRUCT" -*Defined in [ethereum-types/src/index.ts:283](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L283)* +*Defined in [ethereum-types/src/index.ts:289](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L289)* ___ @@ -1702,7 +1774,7 @@ ___ • **Sha3**: = "SHA3" -*Defined in [ethereum-types/src/index.ts:165](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L165)* +*Defined in [ethereum-types/src/index.ts:171](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L171)* ___ @@ -1710,7 +1782,7 @@ ___ • **SignExtend**: = "SIGNEXTEND" -*Defined in [ethereum-types/src/index.ts:151](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L151)* +*Defined in [ethereum-types/src/index.ts:157](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L157)* ___ @@ -1718,7 +1790,7 @@ ___ • **StaticCall**: = "STATICCALL" -*Defined in [ethereum-types/src/index.ts:280](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L280)* +*Defined in [ethereum-types/src/index.ts:286](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L286)* ___ @@ -1726,7 +1798,7 @@ ___ • **Stop**: = "STOP" -*Defined in [ethereum-types/src/index.ts:140](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L140)* +*Defined in [ethereum-types/src/index.ts:146](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L146)* ___ @@ -1734,7 +1806,7 @@ ___ • **Sub**: = "SUB" -*Defined in [ethereum-types/src/index.ts:143](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L143)* +*Defined in [ethereum-types/src/index.ts:149](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L149)* ___ @@ -1742,7 +1814,7 @@ ___ • **Swap1**: = "SWAP1" -*Defined in [ethereum-types/src/index.ts:253](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L253)* +*Defined in [ethereum-types/src/index.ts:259](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L259)* ___ @@ -1750,7 +1822,7 @@ ___ • **Swap10**: = "SWAP10" -*Defined in [ethereum-types/src/index.ts:262](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L262)* +*Defined in [ethereum-types/src/index.ts:268](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L268)* ___ @@ -1758,7 +1830,7 @@ ___ • **Swap11**: = "SWAP11" -*Defined in [ethereum-types/src/index.ts:263](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L263)* +*Defined in [ethereum-types/src/index.ts:269](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L269)* ___ @@ -1766,7 +1838,7 @@ ___ • **Swap12**: = "SWAP12" -*Defined in [ethereum-types/src/index.ts:264](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L264)* +*Defined in [ethereum-types/src/index.ts:270](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L270)* ___ @@ -1774,7 +1846,7 @@ ___ • **Swap13**: = "SWAP13" -*Defined in [ethereum-types/src/index.ts:265](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L265)* +*Defined in [ethereum-types/src/index.ts:271](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L271)* ___ @@ -1782,7 +1854,7 @@ ___ • **Swap14**: = "SWAP14" -*Defined in [ethereum-types/src/index.ts:266](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L266)* +*Defined in [ethereum-types/src/index.ts:272](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L272)* ___ @@ -1790,7 +1862,7 @@ ___ • **Swap15**: = "SWAP15" -*Defined in [ethereum-types/src/index.ts:267](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L267)* +*Defined in [ethereum-types/src/index.ts:273](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L273)* ___ @@ -1798,7 +1870,7 @@ ___ • **Swap16**: = "SWAP16" -*Defined in [ethereum-types/src/index.ts:268](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L268)* +*Defined in [ethereum-types/src/index.ts:274](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L274)* ___ @@ -1806,7 +1878,7 @@ ___ • **Swap2**: = "SWAP2" -*Defined in [ethereum-types/src/index.ts:254](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L254)* +*Defined in [ethereum-types/src/index.ts:260](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L260)* ___ @@ -1814,7 +1886,7 @@ ___ • **Swap3**: = "SWAP3" -*Defined in [ethereum-types/src/index.ts:255](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L255)* +*Defined in [ethereum-types/src/index.ts:261](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L261)* ___ @@ -1822,7 +1894,7 @@ ___ • **Swap4**: = "SWAP4" -*Defined in [ethereum-types/src/index.ts:256](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L256)* +*Defined in [ethereum-types/src/index.ts:262](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L262)* ___ @@ -1830,7 +1902,7 @@ ___ • **Swap5**: = "SWAP5" -*Defined in [ethereum-types/src/index.ts:257](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L257)* +*Defined in [ethereum-types/src/index.ts:263](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L263)* ___ @@ -1838,7 +1910,7 @@ ___ • **Swap6**: = "SWAP6" -*Defined in [ethereum-types/src/index.ts:258](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L258)* +*Defined in [ethereum-types/src/index.ts:264](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L264)* ___ @@ -1846,7 +1918,7 @@ ___ • **Swap7**: = "SWAP7" -*Defined in [ethereum-types/src/index.ts:259](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L259)* +*Defined in [ethereum-types/src/index.ts:265](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L265)* ___ @@ -1854,7 +1926,7 @@ ___ • **Swap8**: = "SWAP8" -*Defined in [ethereum-types/src/index.ts:260](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L260)* +*Defined in [ethereum-types/src/index.ts:266](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L266)* ___ @@ -1862,7 +1934,7 @@ ___ • **Swap9**: = "SWAP9" -*Defined in [ethereum-types/src/index.ts:261](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L261)* +*Defined in [ethereum-types/src/index.ts:267](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L267)* ___ @@ -1870,7 +1942,7 @@ ___ • **TimeStamp**: = "TimeStamp" -*Defined in [ethereum-types/src/index.ts:185](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L185)* +*Defined in [ethereum-types/src/index.ts:191](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L191)* ___ @@ -1878,7 +1950,7 @@ ___ • **Xor**: = "XOR" -*Defined in [ethereum-types/src/index.ts:161](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L161)* +*Defined in [ethereum-types/src/index.ts:167](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L167)*
@@ -1893,7 +1965,7 @@ ___ • **Ganache**: = "GANACHE" -*Defined in [web3-wrapper/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L91)* +*Defined in [web3-wrapper/src/types.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L91)* ___ @@ -1901,7 +1973,7 @@ ___ • **Geth**: = "GETH" -*Defined in [web3-wrapper/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L90)* +*Defined in [web3-wrapper/src/types.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L90)*
@@ -1914,16 +1986,12 @@ ___ • **TransactionMiningTimeout**: = "TRANSACTION_MINING_TIMEOUT" -*Defined in [web3-wrapper/src/types.ts:2](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L2)* +*Defined in [web3-wrapper/src/types.ts:2](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L2)*
-
- - - # Interface: BlockWithoutTransactionData @@ -1937,7 +2005,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[difficulty](#difficulty)* -*Defined in [ethereum-types/src/index.ts:350](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L350)* +*Defined in [ethereum-types/src/index.ts:356](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L356)* ___ @@ -1947,7 +2015,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[extraData](#extradata)* -*Defined in [ethereum-types/src/index.ts:352](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L352)* +*Defined in [ethereum-types/src/index.ts:358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L358)* ___ @@ -1957,7 +2025,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[gasLimit](#gaslimit)* -*Defined in [ethereum-types/src/index.ts:354](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L354)* +*Defined in [ethereum-types/src/index.ts:360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L360)* ___ @@ -1967,7 +2035,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[gasUsed](#gasused)* -*Defined in [ethereum-types/src/index.ts:355](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L355)* +*Defined in [ethereum-types/src/index.ts:361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L361)* ___ @@ -1977,7 +2045,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[hash](#hash)* -*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L342)* +*Defined in [ethereum-types/src/index.ts:348](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L348)* ___ @@ -1987,7 +2055,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[logsBloom](#logsbloom)* -*Defined in [ethereum-types/src/index.ts:346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L346)* +*Defined in [ethereum-types/src/index.ts:352](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L352)* ___ @@ -1997,7 +2065,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[miner](#miner)* -*Defined in [ethereum-types/src/index.ts:349](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L349)* +*Defined in [ethereum-types/src/index.ts:355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L355)* ___ @@ -2007,7 +2075,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[nonce](#nonce)* -*Defined in [ethereum-types/src/index.ts:344](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L344)* +*Defined in [ethereum-types/src/index.ts:350](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L350)* ___ @@ -2017,7 +2085,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[number](#number)* -*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L341)* +*Defined in [ethereum-types/src/index.ts:347](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L347)* ___ @@ -2027,7 +2095,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[parentHash](#parenthash)* -*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L343)* +*Defined in [ethereum-types/src/index.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L349)* ___ @@ -2037,7 +2105,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[sha3Uncles](#sha3uncles)* -*Defined in [ethereum-types/src/index.ts:345](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L345)* +*Defined in [ethereum-types/src/index.ts:351](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L351)* ___ @@ -2047,7 +2115,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[size](#size)* -*Defined in [ethereum-types/src/index.ts:353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L353)* +*Defined in [ethereum-types/src/index.ts:359](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L359)* ___ @@ -2057,7 +2125,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[stateRoot](#stateroot)* -*Defined in [ethereum-types/src/index.ts:348](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L348)* +*Defined in [ethereum-types/src/index.ts:354](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L354)* ___ @@ -2067,7 +2135,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[timestamp](#timestamp)* -*Defined in [ethereum-types/src/index.ts:356](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L356)* +*Defined in [ethereum-types/src/index.ts:362](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L362)* ___ @@ -2077,7 +2145,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[totalDifficulty](#totaldifficulty)* -*Defined in [ethereum-types/src/index.ts:351](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L351)* +*Defined in [ethereum-types/src/index.ts:357](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L357)* ___ @@ -2085,7 +2153,7 @@ ___ • **transactions**: *string[]* -*Defined in [ethereum-types/src/index.ts:361](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L361)* +*Defined in [ethereum-types/src/index.ts:367](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L367)* ___ @@ -2095,7 +2163,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[transactionsRoot](#transactionsroot)* -*Defined in [ethereum-types/src/index.ts:347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L347)* +*Defined in [ethereum-types/src/index.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L353)* ___ @@ -2105,7 +2173,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[uncles](#uncles)* -*Defined in [ethereum-types/src/index.ts:357](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L357)* +*Defined in [ethereum-types/src/index.ts:363](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L363)*
@@ -2120,7 +2188,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[difficulty](#difficulty)* -*Defined in [ethereum-types/src/index.ts:350](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L350)* +*Defined in [ethereum-types/src/index.ts:356](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L356)* ___ @@ -2130,7 +2198,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[extraData](#extradata)* -*Defined in [ethereum-types/src/index.ts:352](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L352)* +*Defined in [ethereum-types/src/index.ts:358](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L358)* ___ @@ -2140,7 +2208,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[gasLimit](#gaslimit)* -*Defined in [ethereum-types/src/index.ts:354](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L354)* +*Defined in [ethereum-types/src/index.ts:360](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L360)* ___ @@ -2150,7 +2218,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[gasUsed](#gasused)* -*Defined in [ethereum-types/src/index.ts:355](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L355)* +*Defined in [ethereum-types/src/index.ts:361](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L361)* ___ @@ -2160,7 +2228,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[hash](#hash)* -*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L342)* +*Defined in [ethereum-types/src/index.ts:348](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L348)* ___ @@ -2170,7 +2238,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[logsBloom](#logsbloom)* -*Defined in [ethereum-types/src/index.ts:346](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L346)* +*Defined in [ethereum-types/src/index.ts:352](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L352)* ___ @@ -2180,7 +2248,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[miner](#miner)* -*Defined in [ethereum-types/src/index.ts:349](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L349)* +*Defined in [ethereum-types/src/index.ts:355](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L355)* ___ @@ -2190,7 +2258,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[nonce](#nonce)* -*Defined in [ethereum-types/src/index.ts:344](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L344)* +*Defined in [ethereum-types/src/index.ts:350](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L350)* ___ @@ -2200,7 +2268,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[number](#number)* -*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L341)* +*Defined in [ethereum-types/src/index.ts:347](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L347)* ___ @@ -2210,7 +2278,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[parentHash](#parenthash)* -*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L343)* +*Defined in [ethereum-types/src/index.ts:349](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L349)* ___ @@ -2220,7 +2288,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[sha3Uncles](#sha3uncles)* -*Defined in [ethereum-types/src/index.ts:345](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L345)* +*Defined in [ethereum-types/src/index.ts:351](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L351)* ___ @@ -2230,7 +2298,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[size](#size)* -*Defined in [ethereum-types/src/index.ts:353](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L353)* +*Defined in [ethereum-types/src/index.ts:359](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L359)* ___ @@ -2240,7 +2308,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[stateRoot](#stateroot)* -*Defined in [ethereum-types/src/index.ts:348](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L348)* +*Defined in [ethereum-types/src/index.ts:354](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L354)* ___ @@ -2250,7 +2318,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[timestamp](#timestamp)* -*Defined in [ethereum-types/src/index.ts:356](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L356)* +*Defined in [ethereum-types/src/index.ts:362](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L362)* ___ @@ -2260,7 +2328,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[totalDifficulty](#totaldifficulty)* -*Defined in [ethereum-types/src/index.ts:351](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L351)* +*Defined in [ethereum-types/src/index.ts:357](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L357)* ___ @@ -2268,7 +2336,7 @@ ___ • **transactions**: *[Transaction](#class-transaction)[]* -*Defined in [ethereum-types/src/index.ts:365](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L365)* +*Defined in [ethereum-types/src/index.ts:371](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L371)* ___ @@ -2278,7 +2346,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[transactionsRoot](#transactionsroot)* -*Defined in [ethereum-types/src/index.ts:347](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L347)* +*Defined in [ethereum-types/src/index.ts:353](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L353)* ___ @@ -2288,7 +2356,7 @@ ___ *Inherited from [AbstractBlock](#interface-abstractblock).[uncles](#uncles)* -*Defined in [ethereum-types/src/index.ts:357](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L357)* +*Defined in [ethereum-types/src/index.ts:363](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L363)*
@@ -2303,7 +2371,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -2311,7 +2379,7 @@ ___ • **from**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:396](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L396)* +*Defined in [ethereum-types/src/index.ts:402](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L402)* ___ @@ -2321,7 +2389,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -2331,7 +2399,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -2341,7 +2409,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -2351,7 +2419,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -2361,7 +2429,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)* +*Defined in [ethereum-types/src/index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)*
@@ -2384,7 +2452,7 @@ ___ • **inputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:103](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L103)* +*Defined in [ethereum-types/src/index.ts:103](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L103)* ___ @@ -2392,7 +2460,7 @@ ___ • **payable**: *boolean* -*Defined in [ethereum-types/src/index.ts:104](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L104)* +*Defined in [ethereum-types/src/index.ts:104](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L104)* ___ @@ -2400,7 +2468,7 @@ ___ • **stateMutability**: *[ConstructorStateMutability](#constructorstatemutability)* -*Defined in [ethereum-types/src/index.ts:105](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L105)* +*Defined in [ethereum-types/src/index.ts:105](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L105)* ___ @@ -2408,7 +2476,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:102](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L102)* +*Defined in [ethereum-types/src/index.ts:102](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L102)*
@@ -2427,7 +2495,7 @@ ___ • **components**? : *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L131)* +*Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* ___ @@ -2435,7 +2503,7 @@ ___ • **name**: *string* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -2443,7 +2511,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -2463,7 +2531,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -2471,7 +2539,7 @@ ___ • **args**: *`A`* -*Defined in [ethereum-types/src/index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [ethereum-types/src/index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* ___ @@ -2481,7 +2549,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -2491,7 +2559,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -2501,7 +2569,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -2509,7 +2577,7 @@ ___ • **event**: *string* -*Defined in [ethereum-types/src/index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +*Defined in [ethereum-types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* ___ @@ -2519,7 +2587,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -2529,7 +2597,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -2539,7 +2607,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -2549,7 +2617,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -2568,7 +2636,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -2578,7 +2646,7 @@ ___ *Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* -*Defined in [ethereum-types/src/index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [ethereum-types/src/index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* ___ @@ -2588,7 +2656,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -2598,7 +2666,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -2608,7 +2676,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -2618,7 +2686,7 @@ ___ *Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* -*Defined in [ethereum-types/src/index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +*Defined in [ethereum-types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* ___ @@ -2628,7 +2696,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -2636,7 +2704,7 @@ ___ • **removed**: *boolean* -*Defined in [ethereum-types/src/index.ts:415](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L415)* +*Defined in [ethereum-types/src/index.ts:421](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L421)* ___ @@ -2646,7 +2714,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -2656,7 +2724,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -2666,7 +2734,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -2681,7 +2749,7 @@ ___ • **isEIP1193**: *boolean* -*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L73)* +*Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L73)* ## Methods @@ -2689,7 +2757,7 @@ ___ ▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* -*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L75)* +*Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L75)* **Parameters:** @@ -2713,7 +2781,7 @@ ___ ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L74)* +*Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L74)* **Parameters:** @@ -2735,7 +2803,7 @@ Name | Type | • **anonymous**: *boolean* -*Defined in [ethereum-types/src/index.ts:125](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L125)* +*Defined in [ethereum-types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L131)* ___ @@ -2743,7 +2811,7 @@ ___ • **inputs**: *[EventParameter](#class-eventparameter)[]* -*Defined in [ethereum-types/src/index.ts:124](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L124)* +*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L130)* ___ @@ -2751,7 +2819,7 @@ ___ • **name**: *string* -*Defined in [ethereum-types/src/index.ts:123](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L123)* +*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L129)* ___ @@ -2759,7 +2827,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:122](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L122)* +*Defined in [ethereum-types/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L128)*
@@ -2774,7 +2842,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[components](#optional-components)* -*Defined in [ethereum-types/src/index.ts:131](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L131)* +*Defined in [ethereum-types/src/index.ts:137](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L137)* ___ @@ -2782,7 +2850,7 @@ ___ • **indexed**: *boolean* -*Defined in [ethereum-types/src/index.ts:116](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L116)* +*Defined in [ethereum-types/src/index.ts:116](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L116)* ___ @@ -2792,7 +2860,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[name](#name)* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -2802,7 +2870,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[type](#type)* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -2819,7 +2887,7 @@ ___ • **payable**: *boolean* -*Defined in [ethereum-types/src/index.ts:112](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L112)* +*Defined in [ethereum-types/src/index.ts:112](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L112)* ___ @@ -2827,7 +2895,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:111](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L111)* +*Defined in [ethereum-types/src/index.ts:111](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L111)*
@@ -2840,7 +2908,7 @@ ___ • **address**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:403](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L403)* +*Defined in [ethereum-types/src/index.ts:409](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L409)* ___ @@ -2848,7 +2916,7 @@ ___ • **blockHash**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:402](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L402)* +*Defined in [ethereum-types/src/index.ts:408](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L408)* ___ @@ -2856,7 +2924,7 @@ ___ • **fromBlock**? : *number | string* -*Defined in [ethereum-types/src/index.ts:400](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L400)* +*Defined in [ethereum-types/src/index.ts:406](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L406)* ___ @@ -2864,7 +2932,7 @@ ___ • **toBlock**? : *number | string* -*Defined in [ethereum-types/src/index.ts:401](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L401)* +*Defined in [ethereum-types/src/index.ts:407](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L407)* ___ @@ -2872,7 +2940,7 @@ ___ • **topics**? : *[LogTopic](#logtopic)[]* -*Defined in [ethereum-types/src/index.ts:404](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L404)* +*Defined in [ethereum-types/src/index.ts:410](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L410)*
@@ -2885,7 +2953,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L14)* +*Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L14)* **Parameters:** @@ -2909,7 +2977,7 @@ Name | Type | • **id**: *number* -*Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* +*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L330)* ___ @@ -2917,7 +2985,7 @@ ___ • **jsonrpc**: *string* -*Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* +*Defined in [ethereum-types/src/index.ts:331](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L331)* ___ @@ -2925,7 +2993,7 @@ ___ • **method**: *string* -*Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* +*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L329)* ___ @@ -2933,7 +3001,7 @@ ___ • **params**: *any[]* -*Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)* +*Defined in [ethereum-types/src/index.ts:328](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L328)*
@@ -2946,7 +3014,7 @@ ___ • **code**: *number* -*Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* +*Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L336)* ___ @@ -2954,102 +3022,44 @@ ___ • **message**: *string* -*Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)* +*Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L335)*
-# Class: AbiDecoder - -AbiDecoder allows you to decode event logs given a set of supplied contract ABI's. It takes the contract's event -signature from the ABI and attempts to decode the logs using it. - - -## Constructors - - - -\+ **new AbiDecoder**(`abiArrays`: [AbiDefinition](#abidefinition)[][]): *[AbiDecoder](#class-abidecoder)* - -*Defined in [utils/src/abi_decoder.ts:42](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/utils/src/abi_decoder.ts#L42)* - -Instantiate an AbiDecoder - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`abiArrays` | [AbiDefinition](#abidefinition)[][] | An array of contract ABI's | - -**Returns:** *[AbiDecoder](#class-abidecoder)* - -AbiDecoder instance - -## Methods - -### addABI - -▸ **addABI**(`abiArray`: [AbiDefinition](#abidefinition)[], `contractName?`: undefined | string): *void* +# Interface: JSONRPCResponsePayload -*Defined in [utils/src/abi_decoder.ts:158](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/utils/src/abi_decoder.ts#L158)* -Adds a set of ABI definitions, after which calldata and logs targeting these ABI's can be decoded. -Additional properties can be included to disambiguate similar ABI's. For example, if two functions -have the same signature but different parameter names, then their ABI definitions can be disambiguated -by specifying a contract name. +## Properties -**Parameters:** +### `Optional` error -Name | Type | Description | ------- | ------ | ------ | -`abiArray` | [AbiDefinition](#abidefinition)[] | - | -`contractName?` | undefined \| string | Name of contract that encapsulates the ABI definitions (optional). This can be used when decoding calldata to disambiguate methods with the same signature but different parameter names. | +• **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* -**Returns:** *void* +*Defined in [ethereum-types/src/index.ts:343](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L343)* ___ -### decodeCalldataOrThrow - -▸ **decodeCalldataOrThrow**(`calldata`: string, `contractName?`: undefined | string): *`DecodedCalldata`* - -*Defined in [utils/src/abi_decoder.ts:118](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/utils/src/abi_decoder.ts#L118)* - -Decodes calldata for a known ABI. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`calldata` | string | hex-encoded calldata. | -`contractName?` | undefined \| string | used to disambiguate similar ABI's (optional). | +### id -**Returns:** *`DecodedCalldata`* +• **id**: *number* -Decoded calldata. Includes: function name and signature, along with the decoded arguments. +*Defined in [ethereum-types/src/index.ts:341](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L341)* ___ -### tryToDecodeLogOrNoop - -▸ **tryToDecodeLogOrNoop**<**ArgsType**>(`log`: `LogEntry`): *`LogWithDecodedArgs` | [RawLog](#rawlog)* - -*Defined in [utils/src/abi_decoder.ts:58](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/utils/src/abi_decoder.ts#L58)* - -Attempt to decode a log given the ABI's the AbiDecoder knows about. +### jsonrpc -**Type parameters:** +• **jsonrpc**: *string* -▪ **ArgsType**: *`DecodedLogArgs`* +*Defined in [ethereum-types/src/index.ts:342](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L342)* -**Parameters:** +___ -Name | Type | Description | ------- | ------ | ------ | -`log` | `LogEntry` | The log to attempt to decode | +### result -**Returns:** *`LogWithDecodedArgs` | [RawLog](#rawlog)* +• **result**: *any* -The decoded log if the requisite ABI was available. Otherwise the log unaltered. +*Defined in [ethereum-types/src/index.ts:340](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L340)*
@@ -3062,7 +3072,7 @@ The decoded log if the requisite ABI was available. Otherwise the log unaltered. • **address**: *string* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -3070,7 +3080,7 @@ ___ • **blockHash**: *string | null* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -3078,7 +3088,7 @@ ___ • **blockNumber**: *number | null* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -3086,7 +3096,7 @@ ___ • **data**: *string* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -3094,7 +3104,7 @@ ___ • **logIndex**: *number | null* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -3102,7 +3112,7 @@ ___ • **topics**: *string[]* -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -3110,7 +3120,7 @@ ___ • **transactionHash**: *string* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -3118,7 +3128,7 @@ ___ • **transactionIndex**: *number | null* -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -3133,7 +3143,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -3143,7 +3153,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -3153,7 +3163,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -3163,7 +3173,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -3173,7 +3183,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -3181,7 +3191,7 @@ ___ • **removed**: *boolean* -*Defined in [ethereum-types/src/index.ts:419](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L419)* +*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L425)* ___ @@ -3191,7 +3201,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -3201,7 +3211,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -3211,7 +3221,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -3230,7 +3240,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[address](#address)* -*Defined in [ethereum-types/src/index.ts:428](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L428)* +*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L434)* ___ @@ -3240,7 +3250,7 @@ ___ *Inherited from [DecodedLogEntry](#interface-decodedlogentry).[args](#args)* -*Defined in [ethereum-types/src/index.ts:411](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L411)* +*Defined in [ethereum-types/src/index.ts:417](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L417)* ___ @@ -3250,7 +3260,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockHash](#blockhash)* -*Defined in [ethereum-types/src/index.ts:426](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L426)* +*Defined in [ethereum-types/src/index.ts:432](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L432)* ___ @@ -3260,7 +3270,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[blockNumber](#blocknumber)* -*Defined in [ethereum-types/src/index.ts:427](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L427)* +*Defined in [ethereum-types/src/index.ts:433](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L433)* ___ @@ -3270,7 +3280,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[data](#data)* -*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L429)* +*Defined in [ethereum-types/src/index.ts:435](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L435)* ___ @@ -3280,7 +3290,7 @@ ___ *Inherited from [DecodedLogEntry](#interface-decodedlogentry).[event](#event)* -*Defined in [ethereum-types/src/index.ts:410](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L410)* +*Defined in [ethereum-types/src/index.ts:416](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L416)* ___ @@ -3290,7 +3300,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[logIndex](#logindex)* -*Defined in [ethereum-types/src/index.ts:423](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L423)* +*Defined in [ethereum-types/src/index.ts:429](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L429)* ___ @@ -3300,7 +3310,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[topics](#topics)* -*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L430)* +*Defined in [ethereum-types/src/index.ts:436](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L436)* ___ @@ -3310,7 +3320,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionHash](#transactionhash)* -*Defined in [ethereum-types/src/index.ts:425](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L425)* +*Defined in [ethereum-types/src/index.ts:431](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L431)* ___ @@ -3320,7 +3330,7 @@ ___ *Inherited from [LogEntry](#interface-logentry).[transactionIndex](#transactionindex)* -*Defined in [ethereum-types/src/index.ts:424](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L424)* +*Defined in [ethereum-types/src/index.ts:430](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L430)*
@@ -3333,7 +3343,7 @@ ___ • **constant**: *boolean* -*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L94)* +*Defined in [ethereum-types/src/index.ts:94](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L94)* ___ @@ -3341,7 +3351,7 @@ ___ • **inputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L92)* +*Defined in [ethereum-types/src/index.ts:92](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L92)* ___ @@ -3349,7 +3359,7 @@ ___ • **name**: *string* -*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L91)* +*Defined in [ethereum-types/src/index.ts:91](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L91)* ___ @@ -3357,7 +3367,7 @@ ___ • **outputs**: *[DataItem](#class-dataitem)[]* -*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L93)* +*Defined in [ethereum-types/src/index.ts:93](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L93)* ___ @@ -3365,7 +3375,7 @@ ___ • **payable**: *boolean* -*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L96)* +*Defined in [ethereum-types/src/index.ts:96](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L96)* ___ @@ -3373,7 +3383,7 @@ ___ • **stateMutability**: *[StateMutability](#statemutability)* -*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L95)* +*Defined in [ethereum-types/src/index.ts:95](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L95)* ___ @@ -3381,7 +3391,7 @@ ___ • **type**: *string* -*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L90)* +*Defined in [ethereum-types/src/index.ts:90](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L90)*
@@ -3398,7 +3408,7 @@ ___ • **address**: *string* -*Defined in [ethereum-types/src/index.ts:483](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L483)* +*Defined in [ethereum-types/src/index.ts:491](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L491)* ___ @@ -3406,7 +3416,7 @@ ___ • **blockHash**: *string | null* -*Defined in [ethereum-types/src/index.ts:481](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L481)* +*Defined in [ethereum-types/src/index.ts:489](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L489)* ___ @@ -3414,7 +3424,7 @@ ___ • **blockNumber**: *string | null* -*Defined in [ethereum-types/src/index.ts:482](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L482)* +*Defined in [ethereum-types/src/index.ts:490](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L490)* ___ @@ -3422,7 +3432,7 @@ ___ • **data**: *string* -*Defined in [ethereum-types/src/index.ts:484](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L484)* +*Defined in [ethereum-types/src/index.ts:492](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L492)* ___ @@ -3430,7 +3440,7 @@ ___ • **logIndex**: *string | null* -*Defined in [ethereum-types/src/index.ts:478](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L478)* +*Defined in [ethereum-types/src/index.ts:486](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L486)* ___ @@ -3438,7 +3448,7 @@ ___ • **topics**: *string[]* -*Defined in [ethereum-types/src/index.ts:485](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L485)* +*Defined in [ethereum-types/src/index.ts:493](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L493)* ___ @@ -3446,7 +3456,7 @@ ___ • **transactionHash**: *string* -*Defined in [ethereum-types/src/index.ts:480](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L480)* +*Defined in [ethereum-types/src/index.ts:488](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L488)* ___ @@ -3454,7 +3464,36 @@ ___ • **transactionIndex**: *string | null* -*Defined in [ethereum-types/src/index.ts:479](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L479)* +*Defined in [ethereum-types/src/index.ts:487](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L487)* + +
+ +# Interface: RevertErrorAbi + + +## Properties + +### `Optional` arguments + +• **arguments**? : *[DataItem](#class-dataitem)[]* + +*Defined in [ethereum-types/src/index.ts:122](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L122)* + +___ + +### name + +• **name**: *string* + +*Defined in [ethereum-types/src/index.ts:121](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L121)* + +___ + +### type + +• **type**: *"error"* + +*Defined in [ethereum-types/src/index.ts:120](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L120)*
@@ -3477,7 +3516,7 @@ ___ • **depth**: *number* -*Defined in [ethereum-types/src/index.ts:287](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L287)* +*Defined in [ethereum-types/src/index.ts:293](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L293)* ___ @@ -3485,7 +3524,7 @@ ___ • **error**: *string* -*Defined in [ethereum-types/src/index.ts:288](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L288)* +*Defined in [ethereum-types/src/index.ts:294](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L294)* ___ @@ -3493,7 +3532,7 @@ ___ • **gas**: *number* -*Defined in [ethereum-types/src/index.ts:289](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L289)* +*Defined in [ethereum-types/src/index.ts:295](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L295)* ___ @@ -3501,7 +3540,7 @@ ___ • **gasCost**: *number* -*Defined in [ethereum-types/src/index.ts:290](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L290)* +*Defined in [ethereum-types/src/index.ts:296](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L296)* ___ @@ -3509,7 +3548,7 @@ ___ • **memory**: *string[]* -*Defined in [ethereum-types/src/index.ts:291](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L291)* +*Defined in [ethereum-types/src/index.ts:297](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L297)* ___ @@ -3517,7 +3556,7 @@ ___ • **op**: *[OpCode](#enumeration-opcode)* -*Defined in [ethereum-types/src/index.ts:292](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L292)* +*Defined in [ethereum-types/src/index.ts:298](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L298)* ___ @@ -3525,7 +3564,7 @@ ___ • **pc**: *number* -*Defined in [ethereum-types/src/index.ts:293](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L293)* +*Defined in [ethereum-types/src/index.ts:299](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L299)* ___ @@ -3533,7 +3572,7 @@ ___ • **stack**: *string[]* -*Defined in [ethereum-types/src/index.ts:294](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L294)* +*Defined in [ethereum-types/src/index.ts:300](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L300)* ___ @@ -3541,7 +3580,7 @@ ___ • **storage**: *object* -*Defined in [ethereum-types/src/index.ts:295](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L295)* +*Defined in [ethereum-types/src/index.ts:301](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L301)* #### Type declaration: @@ -3558,7 +3597,7 @@ ___ • **disableMemory**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:510](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L510)* +*Defined in [ethereum-types/src/index.ts:518](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L518)* ___ @@ -3566,7 +3605,7 @@ ___ • **disableStack**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:511](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L511)* +*Defined in [ethereum-types/src/index.ts:519](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L519)* ___ @@ -3574,7 +3613,7 @@ ___ • **disableStorage**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:512](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L512)* +*Defined in [ethereum-types/src/index.ts:520](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L520)* ___ @@ -3582,7 +3621,7 @@ ___ • **timeout**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:514](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L514)* +*Defined in [ethereum-types/src/index.ts:522](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L522)* ___ @@ -3590,7 +3629,7 @@ ___ • **tracer**? : *undefined | string* -*Defined in [ethereum-types/src/index.ts:513](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L513)* +*Defined in [ethereum-types/src/index.ts:521](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L521)*
@@ -3603,7 +3642,7 @@ ___ • **blockHash**: *string | null* -*Defined in [ethereum-types/src/index.ts:371](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L371)* +*Defined in [ethereum-types/src/index.ts:377](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L377)* ___ @@ -3611,7 +3650,7 @@ ___ • **blockNumber**: *number | null* -*Defined in [ethereum-types/src/index.ts:372](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L372)* +*Defined in [ethereum-types/src/index.ts:378](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L378)* ___ @@ -3619,7 +3658,7 @@ ___ • **from**: *string* -*Defined in [ethereum-types/src/index.ts:374](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L374)* +*Defined in [ethereum-types/src/index.ts:380](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L380)* ___ @@ -3627,7 +3666,7 @@ ___ • **gas**: *number* -*Defined in [ethereum-types/src/index.ts:378](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L378)* +*Defined in [ethereum-types/src/index.ts:384](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L384)* ___ @@ -3635,7 +3674,7 @@ ___ • **gasPrice**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:377](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L377)* +*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L383)* ___ @@ -3643,7 +3682,7 @@ ___ • **hash**: *string* -*Defined in [ethereum-types/src/index.ts:369](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L369)* +*Defined in [ethereum-types/src/index.ts:375](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L375)* ___ @@ -3651,7 +3690,7 @@ ___ • **input**: *string* -*Defined in [ethereum-types/src/index.ts:379](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L379)* +*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L385)* ___ @@ -3659,7 +3698,7 @@ ___ • **nonce**: *number* -*Defined in [ethereum-types/src/index.ts:370](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L370)* +*Defined in [ethereum-types/src/index.ts:376](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L376)* ___ @@ -3667,7 +3706,7 @@ ___ • **to**: *string | null* -*Defined in [ethereum-types/src/index.ts:375](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L375)* +*Defined in [ethereum-types/src/index.ts:381](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L381)* ___ @@ -3675,7 +3714,7 @@ ___ • **transactionIndex**: *number | null* -*Defined in [ethereum-types/src/index.ts:373](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L373)* +*Defined in [ethereum-types/src/index.ts:379](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L379)* ___ @@ -3683,7 +3722,7 @@ ___ • **value**: *`BigNumber`* -*Defined in [ethereum-types/src/index.ts:376](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L376)* +*Defined in [ethereum-types/src/index.ts:382](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L382)*
@@ -3696,7 +3735,7 @@ ___ • **blockHash**: *string* -*Defined in [ethereum-types/src/index.ts:440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L440)* +*Defined in [ethereum-types/src/index.ts:448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L448)* ___ @@ -3704,7 +3743,7 @@ ___ • **blockNumber**: *number* -*Defined in [ethereum-types/src/index.ts:441](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L441)* +*Defined in [ethereum-types/src/index.ts:449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L449)* ___ @@ -3712,7 +3751,7 @@ ___ • **contractAddress**: *string | null* -*Defined in [ethereum-types/src/index.ts:449](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L449)* +*Defined in [ethereum-types/src/index.ts:457](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L457)* ___ @@ -3720,7 +3759,7 @@ ___ • **cumulativeGasUsed**: *number* -*Defined in [ethereum-types/src/index.ts:447](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L447)* +*Defined in [ethereum-types/src/index.ts:455](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L455)* ___ @@ -3728,7 +3767,7 @@ ___ • **from**: *string* -*Defined in [ethereum-types/src/index.ts:444](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L444)* +*Defined in [ethereum-types/src/index.ts:452](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L452)* ___ @@ -3736,7 +3775,7 @@ ___ • **gasUsed**: *number* -*Defined in [ethereum-types/src/index.ts:448](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L448)* +*Defined in [ethereum-types/src/index.ts:456](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L456)* ___ @@ -3744,7 +3783,7 @@ ___ • **logs**: *[LogEntry](#class-logentry)[]* -*Defined in [ethereum-types/src/index.ts:450](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L450)* +*Defined in [ethereum-types/src/index.ts:458](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L458)* ___ @@ -3752,7 +3791,7 @@ ___ • **status**: *[TransactionReceiptStatus](#transactionreceiptstatus)* -*Defined in [ethereum-types/src/index.ts:446](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L446)* +*Defined in [ethereum-types/src/index.ts:454](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L454)* ___ @@ -3760,7 +3799,7 @@ ___ • **to**: *string* -*Defined in [ethereum-types/src/index.ts:445](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L445)* +*Defined in [ethereum-types/src/index.ts:453](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L453)* ___ @@ -3768,7 +3807,7 @@ ___ • **transactionHash**: *string* -*Defined in [ethereum-types/src/index.ts:442](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L442)* +*Defined in [ethereum-types/src/index.ts:450](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L450)* ___ @@ -3776,7 +3815,7 @@ ___ • **transactionIndex**: *number* -*Defined in [ethereum-types/src/index.ts:443](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L443)* +*Defined in [ethereum-types/src/index.ts:451](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L451)*
@@ -3795,7 +3834,7 @@ otherwise we don't. *Inherited from [TransactionReceipt](#interface-transactionreceipt).[blockHash](#blockhash)* -*Defined in [ethereum-types/src/index.ts:440](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L440)* +*Defined in [ethereum-types/src/index.ts:448](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L448)* ___ @@ -3805,7 +3844,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[blockNumber](#blocknumber)* -*Defined in [ethereum-types/src/index.ts:441](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L441)* +*Defined in [ethereum-types/src/index.ts:449](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L449)* ___ @@ -3815,7 +3854,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[contractAddress](#contractaddress)* -*Defined in [ethereum-types/src/index.ts:449](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L449)* +*Defined in [ethereum-types/src/index.ts:457](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L457)* ___ @@ -3825,7 +3864,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[cumulativeGasUsed](#cumulativegasused)* -*Defined in [ethereum-types/src/index.ts:447](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L447)* +*Defined in [ethereum-types/src/index.ts:455](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L455)* ___ @@ -3835,7 +3874,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[from](#from)* -*Defined in [ethereum-types/src/index.ts:444](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L444)* +*Defined in [ethereum-types/src/index.ts:452](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L452)* ___ @@ -3845,7 +3884,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[gasUsed](#gasused)* -*Defined in [ethereum-types/src/index.ts:448](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L448)* +*Defined in [ethereum-types/src/index.ts:456](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L456)* ___ @@ -3855,7 +3894,7 @@ ___ *Overrides [TransactionReceipt](_ethereum_types_src_index_.transactionreceipt.md).[logs](#logs)* -*Defined in [ethereum-types/src/index.ts:506](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L506)* +*Defined in [ethereum-types/src/index.ts:514](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L514)* ___ @@ -3865,7 +3904,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[status](#status)* -*Defined in [ethereum-types/src/index.ts:446](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L446)* +*Defined in [ethereum-types/src/index.ts:454](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L454)* ___ @@ -3875,7 +3914,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[to](#to)* -*Defined in [ethereum-types/src/index.ts:445](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L445)* +*Defined in [ethereum-types/src/index.ts:453](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L453)* ___ @@ -3885,7 +3924,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[transactionHash](#transactionhash)* -*Defined in [ethereum-types/src/index.ts:442](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L442)* +*Defined in [ethereum-types/src/index.ts:450](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L450)* ___ @@ -3895,7 +3934,7 @@ ___ *Inherited from [TransactionReceipt](#interface-transactionreceipt).[transactionIndex](#transactionindex)* -*Defined in [ethereum-types/src/index.ts:443](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L443)* +*Defined in [ethereum-types/src/index.ts:451](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L451)*
@@ -3908,7 +3947,7 @@ ___ • **gas**: *number* -*Defined in [ethereum-types/src/index.ts:299](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L299)* +*Defined in [ethereum-types/src/index.ts:305](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L305)* ___ @@ -3916,7 +3955,7 @@ ___ • **returnValue**: *any* -*Defined in [ethereum-types/src/index.ts:300](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L300)* +*Defined in [ethereum-types/src/index.ts:306](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L306)* ___ @@ -3924,7 +3963,7 @@ ___ • **structLogs**: *[StructLog](#class-structlog)[]* -*Defined in [ethereum-types/src/index.ts:301](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L301)* +*Defined in [ethereum-types/src/index.ts:307](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L307)*
@@ -3939,7 +3978,7 @@ ___ *Overrides [DataItem](_ethereum_types_src_index_.dataitem.md).[components](#optional-components)* -*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L135)* +*Defined in [ethereum-types/src/index.ts:141](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L141)* ___ @@ -3949,7 +3988,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[name](#name)* -*Defined in [ethereum-types/src/index.ts:129](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L129)* +*Defined in [ethereum-types/src/index.ts:135](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L135)* ___ @@ -3959,7 +3998,7 @@ ___ *Inherited from [DataItem](#interface-dataitem).[type](#type)* -*Defined in [ethereum-types/src/index.ts:130](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L130)* +*Defined in [ethereum-types/src/index.ts:136](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L136)*
@@ -3974,7 +4013,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -3982,7 +4021,7 @@ ___ • **from**: *string* -*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ @@ -3992,7 +4031,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -4002,7 +4041,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -4012,7 +4051,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -4022,7 +4061,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -4032,7 +4071,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)* +*Defined in [ethereum-types/src/index.ts:390](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L390)*
@@ -4047,7 +4086,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* -*Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* +*Defined in [ethereum-types/src/index.ts:393](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L393)* ___ @@ -4057,7 +4096,7 @@ ___ *Inherited from [TxData](#interface-txdata).[from](#from)* -*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* +*Defined in [ethereum-types/src/index.ts:398](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L398)* ___ @@ -4067,7 +4106,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* -*Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* +*Defined in [ethereum-types/src/index.ts:391](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L391)* ___ @@ -4077,7 +4116,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* -*Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* +*Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L392)* ___ @@ -4087,7 +4126,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* -*Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* +*Defined in [ethereum-types/src/index.ts:394](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L394)* ___ @@ -4097,7 +4136,7 @@ ___ *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* -*Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* +*Defined in [ethereum-types/src/index.ts:389](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L389)* ___ @@ -4107,7 +4146,7 @@ ___ *Overrides [CallTxDataBase](_ethereum_types_src_index_.calltxdatabase.md).[value](#optional-value)* -*Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L434)* +*Defined in [ethereum-types/src/index.ts:442](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L442)*
@@ -4124,7 +4163,7 @@ This interface allowed sending synchonous requests, support for which was later ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* -*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L45)* +*Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L45)* **Parameters:** @@ -4140,7 +4179,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L44)* +*Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L44)* **Parameters:** @@ -4166,7 +4205,7 @@ before the first attempts to conform to EIP1193 ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L54)* +*Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L54)* **Parameters:** @@ -4192,7 +4231,7 @@ however it does not conform entirely. ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* -*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L63)* +*Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L63)* **Parameters:** @@ -4218,7 +4257,7 @@ add here • **isMetaMask**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L31)* +*Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L31)* ___ @@ -4226,7 +4265,7 @@ ___ • **isParity**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L32)* +*Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L32)* ___ @@ -4234,7 +4273,7 @@ ___ • **isZeroExProvider**? : *undefined | false | true* -*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L30)* +*Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L30)* ## Methods @@ -4242,7 +4281,7 @@ ___ ▸ **enable**(): *`Promise`* -*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L34)* +*Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L34)* **Returns:** *`Promise`* @@ -4252,7 +4291,7 @@ ___ ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* -*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L35)* +*Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L35)* **Parameters:** @@ -4269,7 +4308,7 @@ ___ ▸ **stop**(): *void* -*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L33)* +*Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L33)* **Returns:** *void* @@ -4288,7 +4327,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[difficulty](#difficulty)* -*Defined in [web3-wrapper/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L15)* +*Defined in [web3-wrapper/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L15)* ___ @@ -4298,7 +4337,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[extraData](#extradata)* -*Defined in [web3-wrapper/src/types.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L17)* +*Defined in [web3-wrapper/src/types.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L17)* ___ @@ -4308,7 +4347,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[gasLimit](#gaslimit)* -*Defined in [web3-wrapper/src/types.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L19)* +*Defined in [web3-wrapper/src/types.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L19)* ___ @@ -4318,7 +4357,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[gasUsed](#gasused)* -*Defined in [web3-wrapper/src/types.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L20)* +*Defined in [web3-wrapper/src/types.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L20)* ___ @@ -4328,7 +4367,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[hash](#hash)* -*Defined in [web3-wrapper/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L7)* +*Defined in [web3-wrapper/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L7)* ___ @@ -4338,7 +4377,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[logsBloom](#logsbloom)* -*Defined in [web3-wrapper/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L11)* +*Defined in [web3-wrapper/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L11)* ___ @@ -4348,7 +4387,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[miner](#miner)* -*Defined in [web3-wrapper/src/types.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L14)* +*Defined in [web3-wrapper/src/types.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L14)* ___ @@ -4358,7 +4397,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[nonce](#nonce)* -*Defined in [web3-wrapper/src/types.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L9)* +*Defined in [web3-wrapper/src/types.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L9)* ___ @@ -4368,7 +4407,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[number](#number)* -*Defined in [web3-wrapper/src/types.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L6)* +*Defined in [web3-wrapper/src/types.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L6)* ___ @@ -4378,7 +4417,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[parentHash](#parenthash)* -*Defined in [web3-wrapper/src/types.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L8)* +*Defined in [web3-wrapper/src/types.ts:8](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L8)* ___ @@ -4388,7 +4427,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[sha3Uncles](#sha3uncles)* -*Defined in [web3-wrapper/src/types.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L10)* +*Defined in [web3-wrapper/src/types.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L10)* ___ @@ -4398,7 +4437,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[size](#size)* -*Defined in [web3-wrapper/src/types.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L18)* +*Defined in [web3-wrapper/src/types.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L18)* ___ @@ -4408,7 +4447,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[stateRoot](#stateroot)* -*Defined in [web3-wrapper/src/types.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L13)* +*Defined in [web3-wrapper/src/types.ts:13](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L13)* ___ @@ -4418,7 +4457,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[timestamp](#timestamp)* -*Defined in [web3-wrapper/src/types.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L21)* +*Defined in [web3-wrapper/src/types.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L21)* ___ @@ -4428,7 +4467,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[totalDifficulty](#totaldifficulty)* -*Defined in [web3-wrapper/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L16)* +*Defined in [web3-wrapper/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L16)* ___ @@ -4436,7 +4475,7 @@ ___ • **transactions**: *string[]* -*Defined in [web3-wrapper/src/types.ts:25](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L25)* +*Defined in [web3-wrapper/src/types.ts:25](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L25)* ___ @@ -4446,7 +4485,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[transactionsRoot](#transactionsroot)* -*Defined in [web3-wrapper/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L12)* +*Defined in [web3-wrapper/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L12)* ___ @@ -4456,7 +4495,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[uncles](#uncles)* -*Defined in [web3-wrapper/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L22)* +*Defined in [web3-wrapper/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L22)*
@@ -4471,7 +4510,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[difficulty](#difficulty)* -*Defined in [web3-wrapper/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L15)* +*Defined in [web3-wrapper/src/types.ts:15](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L15)* ___ @@ -4481,7 +4520,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[extraData](#extradata)* -*Defined in [web3-wrapper/src/types.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L17)* +*Defined in [web3-wrapper/src/types.ts:17](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L17)* ___ @@ -4491,7 +4530,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[gasLimit](#gaslimit)* -*Defined in [web3-wrapper/src/types.ts:19](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L19)* +*Defined in [web3-wrapper/src/types.ts:19](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L19)* ___ @@ -4501,7 +4540,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[gasUsed](#gasused)* -*Defined in [web3-wrapper/src/types.ts:20](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L20)* +*Defined in [web3-wrapper/src/types.ts:20](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L20)* ___ @@ -4511,7 +4550,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[hash](#hash)* -*Defined in [web3-wrapper/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L7)* +*Defined in [web3-wrapper/src/types.ts:7](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L7)* ___ @@ -4521,7 +4560,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[logsBloom](#logsbloom)* -*Defined in [web3-wrapper/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L11)* +*Defined in [web3-wrapper/src/types.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L11)* ___ @@ -4531,7 +4570,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[miner](#miner)* -*Defined in [web3-wrapper/src/types.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L14)* +*Defined in [web3-wrapper/src/types.ts:14](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L14)* ___ @@ -4541,7 +4580,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[nonce](#nonce)* -*Defined in [web3-wrapper/src/types.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L9)* +*Defined in [web3-wrapper/src/types.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L9)* ___ @@ -4551,7 +4590,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[number](#number)* -*Defined in [web3-wrapper/src/types.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L6)* +*Defined in [web3-wrapper/src/types.ts:6](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L6)* ___ @@ -4561,7 +4600,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[parentHash](#parenthash)* -*Defined in [web3-wrapper/src/types.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L8)* +*Defined in [web3-wrapper/src/types.ts:8](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L8)* ___ @@ -4571,7 +4610,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[sha3Uncles](#sha3uncles)* -*Defined in [web3-wrapper/src/types.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L10)* +*Defined in [web3-wrapper/src/types.ts:10](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L10)* ___ @@ -4581,7 +4620,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[size](#size)* -*Defined in [web3-wrapper/src/types.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L18)* +*Defined in [web3-wrapper/src/types.ts:18](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L18)* ___ @@ -4591,7 +4630,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[stateRoot](#stateroot)* -*Defined in [web3-wrapper/src/types.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L13)* +*Defined in [web3-wrapper/src/types.ts:13](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L13)* ___ @@ -4601,7 +4640,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[timestamp](#timestamp)* -*Defined in [web3-wrapper/src/types.ts:21](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L21)* +*Defined in [web3-wrapper/src/types.ts:21](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L21)* ___ @@ -4611,7 +4650,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[totalDifficulty](#totaldifficulty)* -*Defined in [web3-wrapper/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L16)* +*Defined in [web3-wrapper/src/types.ts:16](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L16)* ___ @@ -4619,7 +4658,7 @@ ___ • **transactions**: *[TransactionRPC](#class-transactionrpc)[]* -*Defined in [web3-wrapper/src/types.ts:28](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L28)* +*Defined in [web3-wrapper/src/types.ts:28](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L28)* ___ @@ -4629,7 +4668,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[transactionsRoot](#transactionsroot)* -*Defined in [web3-wrapper/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L12)* +*Defined in [web3-wrapper/src/types.ts:12](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L12)* ___ @@ -4639,7 +4678,7 @@ ___ *Inherited from [AbstractBlockRPC](#interface-abstractblockrpc).[uncles](#uncles)* -*Defined in [web3-wrapper/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L22)* +*Defined in [web3-wrapper/src/types.ts:22](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L22)*
@@ -4654,7 +4693,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[data](#optional-data)* -*Defined in [web3-wrapper/src/types.ts:76](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L76)* +*Defined in [web3-wrapper/src/types.ts:76](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L76)* ___ @@ -4662,7 +4701,7 @@ ___ • **from**? : *undefined | string* -*Defined in [web3-wrapper/src/types.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L85)* +*Defined in [web3-wrapper/src/types.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L85)* ___ @@ -4672,7 +4711,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[gas](#optional-gas)* -*Defined in [web3-wrapper/src/types.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L74)* +*Defined in [web3-wrapper/src/types.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L74)* ___ @@ -4682,7 +4721,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[gasPrice](#optional-gasprice)* -*Defined in [web3-wrapper/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L75)* +*Defined in [web3-wrapper/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L75)* ___ @@ -4692,7 +4731,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[nonce](#optional-nonce)* -*Defined in [web3-wrapper/src/types.ts:77](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L77)* +*Defined in [web3-wrapper/src/types.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L77)* ___ @@ -4702,7 +4741,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[to](#optional-to)* -*Defined in [web3-wrapper/src/types.ts:72](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L72)* +*Defined in [web3-wrapper/src/types.ts:72](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L72)* ___ @@ -4712,7 +4751,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[value](#optional-value)* -*Defined in [web3-wrapper/src/types.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L73)* +*Defined in [web3-wrapper/src/types.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L73)*
@@ -4727,7 +4766,7 @@ ___ • **address**: *string* -*Defined in [web3-wrapper/src/types.ts:64](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L64)* +*Defined in [web3-wrapper/src/types.ts:64](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L64)* ___ @@ -4735,7 +4774,7 @@ ___ • **blockHash**: *string | null* -*Defined in [web3-wrapper/src/types.ts:62](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L62)* +*Defined in [web3-wrapper/src/types.ts:62](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L62)* ___ @@ -4743,7 +4782,7 @@ ___ • **blockNumber**: *string | null* -*Defined in [web3-wrapper/src/types.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L63)* +*Defined in [web3-wrapper/src/types.ts:63](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L63)* ___ @@ -4751,7 +4790,7 @@ ___ • **data**: *string* -*Defined in [web3-wrapper/src/types.ts:65](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L65)* +*Defined in [web3-wrapper/src/types.ts:65](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L65)* ___ @@ -4759,7 +4798,7 @@ ___ • **logIndex**: *string | null* -*Defined in [web3-wrapper/src/types.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L59)* +*Defined in [web3-wrapper/src/types.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L59)* ___ @@ -4767,7 +4806,7 @@ ___ • **topics**: *string[]* -*Defined in [web3-wrapper/src/types.ts:66](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L66)* +*Defined in [web3-wrapper/src/types.ts:66](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L66)* ___ @@ -4775,7 +4814,7 @@ ___ • **transactionHash**: *string* -*Defined in [web3-wrapper/src/types.ts:61](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L61)* +*Defined in [web3-wrapper/src/types.ts:61](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L61)* ___ @@ -4783,7 +4822,7 @@ ___ • **transactionIndex**: *string | null* -*Defined in [web3-wrapper/src/types.ts:60](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L60)* +*Defined in [web3-wrapper/src/types.ts:60](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L60)*
@@ -4796,7 +4835,7 @@ ___ • **blockHash**: *string* -*Defined in [web3-wrapper/src/types.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L45)* +*Defined in [web3-wrapper/src/types.ts:45](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L45)* ___ @@ -4804,7 +4843,7 @@ ___ • **blockNumber**: *string* -*Defined in [web3-wrapper/src/types.ts:46](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L46)* +*Defined in [web3-wrapper/src/types.ts:46](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L46)* ___ @@ -4812,7 +4851,7 @@ ___ • **contractAddress**: *string | null* -*Defined in [web3-wrapper/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L54)* +*Defined in [web3-wrapper/src/types.ts:54](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L54)* ___ @@ -4820,7 +4859,7 @@ ___ • **cumulativeGasUsed**: *string* -*Defined in [web3-wrapper/src/types.ts:52](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L52)* +*Defined in [web3-wrapper/src/types.ts:52](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L52)* ___ @@ -4828,7 +4867,7 @@ ___ • **from**: *string* -*Defined in [web3-wrapper/src/types.ts:49](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L49)* +*Defined in [web3-wrapper/src/types.ts:49](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L49)* ___ @@ -4836,7 +4875,7 @@ ___ • **gasUsed**: *string* -*Defined in [web3-wrapper/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L53)* +*Defined in [web3-wrapper/src/types.ts:53](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L53)* ___ @@ -4844,7 +4883,7 @@ ___ • **logs**: *[LogEntryRPC](#class-logentryrpc)[]* -*Defined in [web3-wrapper/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L55)* +*Defined in [web3-wrapper/src/types.ts:55](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L55)* ___ @@ -4852,7 +4891,7 @@ ___ • **status**: *[TransactionReceiptStatusRPC](#transactionreceiptstatusrpc)* -*Defined in [web3-wrapper/src/types.ts:51](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L51)* +*Defined in [web3-wrapper/src/types.ts:51](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L51)* ___ @@ -4860,7 +4899,7 @@ ___ • **to**: *string* -*Defined in [web3-wrapper/src/types.ts:50](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L50)* +*Defined in [web3-wrapper/src/types.ts:50](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L50)* ___ @@ -4868,7 +4907,7 @@ ___ • **transactionHash**: *string* -*Defined in [web3-wrapper/src/types.ts:47](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L47)* +*Defined in [web3-wrapper/src/types.ts:47](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L47)* ___ @@ -4876,7 +4915,7 @@ ___ • **transactionIndex**: *string* -*Defined in [web3-wrapper/src/types.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L48)* +*Defined in [web3-wrapper/src/types.ts:48](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L48)*
@@ -4889,7 +4928,7 @@ ___ • **blockHash**: *string | null* -*Defined in [web3-wrapper/src/types.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L33)* +*Defined in [web3-wrapper/src/types.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L33)* ___ @@ -4897,7 +4936,7 @@ ___ • **blockNumber**: *string | null* -*Defined in [web3-wrapper/src/types.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L34)* +*Defined in [web3-wrapper/src/types.ts:34](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L34)* ___ @@ -4905,7 +4944,7 @@ ___ • **from**: *string* -*Defined in [web3-wrapper/src/types.ts:36](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L36)* +*Defined in [web3-wrapper/src/types.ts:36](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L36)* ___ @@ -4913,7 +4952,7 @@ ___ • **gas**: *string* -*Defined in [web3-wrapper/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L40)* +*Defined in [web3-wrapper/src/types.ts:40](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L40)* ___ @@ -4921,7 +4960,7 @@ ___ • **gasPrice**: *string* -*Defined in [web3-wrapper/src/types.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L39)* +*Defined in [web3-wrapper/src/types.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L39)* ___ @@ -4929,7 +4968,7 @@ ___ • **hash**: *string* -*Defined in [web3-wrapper/src/types.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L31)* +*Defined in [web3-wrapper/src/types.ts:31](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L31)* ___ @@ -4937,7 +4976,7 @@ ___ • **input**: *string* -*Defined in [web3-wrapper/src/types.ts:41](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L41)* +*Defined in [web3-wrapper/src/types.ts:41](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L41)* ___ @@ -4945,7 +4984,7 @@ ___ • **nonce**: *string* -*Defined in [web3-wrapper/src/types.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L32)* +*Defined in [web3-wrapper/src/types.ts:32](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L32)* ___ @@ -4953,7 +4992,7 @@ ___ • **to**: *string | null* -*Defined in [web3-wrapper/src/types.ts:37](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L37)* +*Defined in [web3-wrapper/src/types.ts:37](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L37)* ___ @@ -4961,7 +5000,7 @@ ___ • **transactionIndex**: *string | null* -*Defined in [web3-wrapper/src/types.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L35)* +*Defined in [web3-wrapper/src/types.ts:35](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L35)* ___ @@ -4969,7 +5008,7 @@ ___ • **value**: *string* -*Defined in [web3-wrapper/src/types.ts:38](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L38)* +*Defined in [web3-wrapper/src/types.ts:38](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L38)*
@@ -4984,7 +5023,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[data](#optional-data)* -*Defined in [web3-wrapper/src/types.ts:76](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L76)* +*Defined in [web3-wrapper/src/types.ts:76](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L76)* ___ @@ -4992,7 +5031,7 @@ ___ • **from**: *string* -*Defined in [web3-wrapper/src/types.ts:81](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L81)* +*Defined in [web3-wrapper/src/types.ts:81](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L81)* ___ @@ -5002,7 +5041,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[gas](#optional-gas)* -*Defined in [web3-wrapper/src/types.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L74)* +*Defined in [web3-wrapper/src/types.ts:74](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L74)* ___ @@ -5012,7 +5051,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[gasPrice](#optional-gasprice)* -*Defined in [web3-wrapper/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L75)* +*Defined in [web3-wrapper/src/types.ts:75](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L75)* ___ @@ -5022,7 +5061,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[nonce](#optional-nonce)* -*Defined in [web3-wrapper/src/types.ts:77](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L77)* +*Defined in [web3-wrapper/src/types.ts:77](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L77)* ___ @@ -5032,7 +5071,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[to](#optional-to)* -*Defined in [web3-wrapper/src/types.ts:72](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L72)* +*Defined in [web3-wrapper/src/types.ts:72](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L72)* ___ @@ -5042,20 +5081,7 @@ ___ *Inherited from [CallTxDataBaseRPC](#interface-calltxdatabaserpc).[value](#optional-value)* -*Defined in [web3-wrapper/src/types.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L73)* - -
- - - - -## Type aliases - -### TransactionReceiptStatusRPC - -Ƭ **TransactionReceiptStatusRPC**: *null | string | `0` | `1`* - -*Defined in [web3-wrapper/src/types.ts:69](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/types.ts#L69)* +*Defined in [web3-wrapper/src/types.ts:73](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L73)*
@@ -5066,9 +5092,9 @@ ___ ### AbiDefinition -Ƭ **AbiDefinition**: *[FunctionAbi](_ethereum_types_src_index_.md#functionabi) | [EventAbi](#interface-eventabi)* +Ƭ **AbiDefinition**: *[FunctionAbi](_ethereum_types_src_index_.md#functionabi) | [EventAbi](#interface-eventabi) | [RevertErrorAbi](#interface-reverterrorabi)* -*Defined in [ethereum-types/src/index.ts:80](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L80)* +*Defined in [ethereum-types/src/index.ts:80](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L80)* ___ @@ -5076,7 +5102,7 @@ ___ Ƭ **BlockParam**: *[BlockParamLiteral](#enumeration-blockparamliteral) | number* -*Defined in [ethereum-types/src/index.ts:475](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L475)* +*Defined in [ethereum-types/src/index.ts:483](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L483)* ___ @@ -5084,7 +5110,7 @@ ___ Ƭ **ConstructorStateMutability**: *"nonpayable" | "payable"* -*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L84)* +*Defined in [ethereum-types/src/index.ts:84](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L84)* ___ @@ -5094,15 +5120,17 @@ ___ Ƭ **ContractEventArg**: *any* -*Defined in [ethereum-types/src/index.ts:460](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L460)* +*Defined in [ethereum-types/src/index.ts:468](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L468)* ___ + + ### EIP1193Event Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* -*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L70)* +*Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md @@ -5117,7 +5145,7 @@ ___ Ƭ **FunctionAbi**: *[MethodAbi](#interface-methodabi) | [ConstructorAbi](#interface-constructorabi) | [FallbackAbi](#interface-fallbackabi)* -*Defined in [ethereum-types/src/index.ts:82](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L82)* +*Defined in [ethereum-types/src/index.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L82)* ___ @@ -5125,7 +5153,7 @@ ___ Ƭ **JSONRPCErrorCallback**: *function* -*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L3)* +*Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: @@ -5144,7 +5172,7 @@ ___ Ƭ **LogTopic**: *null | string | string[]* -*Defined in [ethereum-types/src/index.ts:407](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L407)* +*Defined in [ethereum-types/src/index.ts:413](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L413)* ___ @@ -5156,7 +5184,7 @@ ___ Ƭ **RawLog**: *[LogEntry](#interface-logentry)* -*Defined in [ethereum-types/src/index.ts:467](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L467)* +*Defined in [ethereum-types/src/index.ts:475](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L475)* ___ @@ -5164,7 +5192,7 @@ ___ Ƭ **StateMutability**: *"pure" | "view" | [ConstructorStateMutability](#constructorstatemutability)* -*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L85)* +*Defined in [ethereum-types/src/index.ts:85](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L85)* ___ @@ -5172,7 +5200,7 @@ ___ Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* -*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L9)* +*Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. @@ -5183,7 +5211,7 @@ ___ Ƭ **TransactionReceiptStatus**: *null | string | `0` | `1`* -*Defined in [ethereum-types/src/index.ts:437](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L437)* +*Defined in [ethereum-types/src/index.ts:445](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L445)* ___ @@ -5193,7 +5221,7 @@ ___ Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* -*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L11)* +*Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/ethereum-types/src/index.ts#L11)*
@@ -5210,7 +5238,7 @@ ___ #### ▪ **marshaller**: *object* -*Defined in [web3-wrapper/src/marshaller.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L33)* +*Defined in [web3-wrapper/src/marshaller.ts:33](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L33)* Utils to convert ethereum structures from user-space format to RPC format. (marshall/unmarshall) @@ -5218,7 +5246,7 @@ Utils to convert ethereum structures from user-space format to RPC format. (mars ▸ **_marshalCallTxDataBase**(`callTxDataBase`: `Partial`): *`Partial`* -*Defined in [web3-wrapper/src/marshaller.ts:208](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L208)* +*Defined in [web3-wrapper/src/marshaller.ts:208](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L208)* **Parameters:** @@ -5232,7 +5260,7 @@ Name | Type | ▸ **marshalAddress**(`address`: string): *string* -*Defined in [web3-wrapper/src/marshaller.ts:176](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L176)* +*Defined in [web3-wrapper/src/marshaller.ts:176](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L176)* Marshall address @@ -5250,7 +5278,7 @@ marshalled address ▸ **marshalBlockParam**(`blockParam`: [BlockParam](#blockparam) | string | number | undefined): *string | undefined* -*Defined in [web3-wrapper/src/marshaller.ts:187](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L187)* +*Defined in [web3-wrapper/src/marshaller.ts:187](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L187)* Marshall block param @@ -5268,7 +5296,7 @@ marshalled block param ▸ **marshalCallData**(`callData`: `Partial`): *`Partial`* -*Defined in [web3-wrapper/src/marshaller.ts:159](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L159)* +*Defined in [web3-wrapper/src/marshaller.ts:159](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L159)* Marshall call data @@ -5286,7 +5314,7 @@ marshalled call data ▸ **marshalTxData**(`txData`: `Partial`): *`Partial`* -*Defined in [web3-wrapper/src/marshaller.ts:133](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L133)* +*Defined in [web3-wrapper/src/marshaller.ts:133](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L133)* Marshall transaction data @@ -5304,7 +5332,7 @@ marshalled transaction data ▸ **unmarshalIntoBlockWithTransactionData**(`blockWithHexValues`: [BlockWithTransactionDataRPC](#interface-blockwithtransactiondatarpc)): *`BlockWithTransactionData`* -*Defined in [web3-wrapper/src/marshaller.ts:59](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L59)* +*Defined in [web3-wrapper/src/marshaller.ts:59](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L59)* Unmarshall block with transaction data @@ -5322,7 +5350,7 @@ unmarshalled block with transaction data ▸ **unmarshalIntoBlockWithoutTransactionData**(`blockWithHexValues`: [BlockWithoutTransactionDataRPC](#interface-blockwithouttransactiondatarpc)): *`BlockWithoutTransactionData`* -*Defined in [web3-wrapper/src/marshaller.ts:39](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L39)* +*Defined in [web3-wrapper/src/marshaller.ts:39](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L39)* Unmarshall block without transaction data @@ -5340,7 +5368,7 @@ unmarshalled block without transaction data ▸ **unmarshalLog**(`rawLog`: `RawLogEntry`): *`LogEntry`* -*Defined in [web3-wrapper/src/marshaller.ts:199](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L199)* +*Defined in [web3-wrapper/src/marshaller.ts:199](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L199)* Unmarshall log @@ -5358,7 +5386,7 @@ unmarshalled log ▸ **unmarshalTransaction**(`txRpc`: [TransactionRPC](#interface-transactionrpc)): *`Transaction`* -*Defined in [web3-wrapper/src/marshaller.ts:82](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L82)* +*Defined in [web3-wrapper/src/marshaller.ts:82](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L82)* Unmarshall transaction @@ -5376,7 +5404,7 @@ unmarshalled transaction ▸ **unmarshalTransactionReceipt**(`txReceiptRpc`: [TransactionReceiptRPC](#interface-transactionreceiptrpc)): *`TransactionReceipt`* -*Defined in [web3-wrapper/src/marshaller.ts:99](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L99)* +*Defined in [web3-wrapper/src/marshaller.ts:99](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L99)* Unmarshall transaction receipt @@ -5394,7 +5422,7 @@ unmarshalled transaction receipt ▸ **unmarshalTxData**(`txDataRpc`: [TxDataRPC](#interface-txdatarpc)): *`TxData`* -*Defined in [web3-wrapper/src/marshaller.ts:115](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/web3-wrapper/src/marshaller.ts#L115)* +*Defined in [web3-wrapper/src/marshaller.ts:115](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/marshaller.ts#L115)* Unmarshall transaction data @@ -5410,3 +5438,20 @@ unmarshalled transaction data
+ + + +## Type aliases + +#### TransactionReceiptStatusRPC + +Ƭ **TransactionReceiptStatusRPC**: *null | string | `0` | `1`* + +*Defined in [web3-wrapper/src/types.ts:69](https://github.com/0xProject/0x-monorepo/blob/9fe6c196a/packages/web3-wrapper/src/types.ts#L69)* + +
+ + + +
+ diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json index 8404fc988b..524ed4ed05 100644 --- a/packages/web3-wrapper/package.json +++ b/packages/web3-wrapper/package.json @@ -1,6 +1,6 @@ { "name": "@0x/web3-wrapper", - "version": "6.0.13", + "version": "6.1.0-beta.0", "engines": { "node": ">=6.12" }, @@ -59,11 +59,11 @@ "typescript": "3.0.1" }, "dependencies": { - "@0x/assert": "^2.1.6", - "@0x/json-schemas": "^4.0.2", - "@0x/typescript-typings": "^4.3.0", - "@0x/utils": "^4.5.2", - "ethereum-types": "^2.1.6", + "@0x/assert": "^2.2.0-beta.0", + "@0x/json-schemas": "^4.1.0-beta.0", + "@0x/typescript-typings": "^4.4.0-beta.0", + "@0x/utils": "^4.6.0-beta.0", + "ethereum-types": "^2.2.0-beta.0", "ethereumjs-util": "^5.1.1", "ethers": "~4.0.4", "lodash": "^4.17.11" diff --git a/packages/web3-wrapper/src/index.ts b/packages/web3-wrapper/src/index.ts index a355f80bff..84ae373f40 100644 --- a/packages/web3-wrapper/src/index.ts +++ b/packages/web3-wrapper/src/index.ts @@ -54,6 +54,7 @@ export { Web3JsV1Provider, Web3JsV2Provider, Web3JsV3Provider, + RevertErrorAbi, } from 'ethereum-types'; export { Web3WrapperErrors, diff --git a/tsconfig.json b/tsconfig.json index 69f803a321..c4d37eb392 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -46,7 +46,6 @@ { "path": "./packages/contracts-gen" }, { "path": "./packages/dev-utils" }, { "path": "./packages/ethereum-types" }, - { "path": "./packages/fill-scenarios" }, { "path": "./packages/json-schemas" }, { "path": "./packages/migrations" }, { "path": "./packages/monorepo-scripts" }, diff --git a/yarn.lock b/yarn.lock index a368ab64ed..44eab8d016 100644 --- a/yarn.lock +++ b/yarn.lock @@ -643,6 +643,26 @@ npmlog "^4.1.2" write-file-atomic "^2.3.0" +"@0x/abi-gen-wrappers@^5.0.3", "@0x/abi-gen-wrappers@^5.3.2": + version "5.3.2" + resolved "https://registry.npmjs.org/@0x/abi-gen-wrappers/-/abi-gen-wrappers-5.3.2.tgz#bf7d1942f56916b7d13fae627f6455f309c5c8b5" + integrity sha512-zf5RDhdmPal06exhavdjpHknYxFJ9CJc6Fsc39Ju3hFhRUn57duQozKcFSwnpPHSqUq+gddZnRTfsSRfgpRplQ== + dependencies: + "@0x/base-contract" "^5.4.0" + "@0x/contract-addresses" "^3.2.0" + "@0x/contract-artifacts" "^2.2.2" + +"@0x/assert@^2.1.0", "@0x/assert@^2.1.1", "@0x/assert@^2.1.2", "@0x/assert@^2.1.6": + version "2.1.6" + resolved "https://registry.npmjs.org/@0x/assert/-/assert-2.1.6.tgz#61c5854b555bca1f1f0503754f2fd0169bee0ef1" + integrity sha512-Gu8eBnFdEuIAH2GubWYOSVz/BIoRccKof68AziduYDHxh4nSPM6NUH52xtfUGk4nXljiOXU1XHZJhcjTObI+8Q== + dependencies: + "@0x/json-schemas" "^4.0.2" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + lodash "^4.17.11" + valid-url "^1.0.9" + "@0x/asset-buyer@6.1.8": version "6.1.8" resolved "https://registry.yarnpkg.com/@0x/asset-buyer/-/asset-buyer-6.1.8.tgz#71f6abb366e89e62457c256644edb37e12113e94" @@ -660,6 +680,55 @@ ethereum-types "^2.1.3" lodash "^4.17.11" +"@0x/base-contract@^5.4.0": + version "5.4.0" + resolved "https://registry.npmjs.org/@0x/base-contract/-/base-contract-5.4.0.tgz#466ea98af22d7e629a21a7d16211c825664e2a48" + integrity sha512-YYkv8NwoOFCPqYS4xHAhdhYzM9PrkS03E2L4EaTJmUGOwYkfoRkbzun26Ml1fh4co7NWCfYyBqq9gfeO+wYXrA== + dependencies: + "@0x/assert" "^2.1.6" + "@0x/json-schemas" "^4.0.2" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + "@0x/web3-wrapper" "^6.0.13" + ethereum-types "^2.1.6" + ethereumjs-account "^3.0.0" + ethereumjs-blockstream "^7.0.0" + ethereumjs-util "^5.1.1" + ethereumjs-vm "^4.0.0" + ethers "~4.0.4" + js-sha3 "^0.7.0" + lodash "^4.17.11" + uuid "^3.3.2" + +"@0x/connect@^5.0.13": + version "5.0.19" + resolved "https://registry.npmjs.org/@0x/connect/-/connect-5.0.19.tgz#569679af661ef84a4c34958388e1be7f1c250a04" + integrity sha512-XdqCxXOZfqr/WwkHseRgG+Wf9/zcfhPsUNhGZ8KUr5agFeXnUjAiS0vfV5gDThPSW/Juu0eaDT6LPapBHp+C3A== + dependencies: + "@0x/assert" "^2.1.6" + "@0x/json-schemas" "^4.0.2" + "@0x/order-utils" "^8.4.0" + "@0x/types" "^2.4.3" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + lodash "^4.17.11" + query-string "^6.0.0" + sinon "^4.0.0" + uuid "^3.3.2" + websocket "^1.0.26" + +"@0x/contract-addresses@^3.0.1", "@0x/contract-addresses@^3.0.2", "@0x/contract-addresses@^3.2.0": + version "3.2.0" + resolved "https://registry.npmjs.org/@0x/contract-addresses/-/contract-addresses-3.2.0.tgz#606307696d9622764220a34e9d4638b899093eec" + integrity sha512-jCVEOgXPa3his4h2qm+O7tn9A2r8UJDgSzDhqhk+za237XxFc2No8TnnMP6qjew3l9ElNM1L+exZHxSd06xB/w== + dependencies: + lodash "^4.17.11" + +"@0x/contract-artifacts@^2.0.2", "@0x/contract-artifacts@^2.2.2": + version "2.2.2" + resolved "https://registry.npmjs.org/@0x/contract-artifacts/-/contract-artifacts-2.2.2.tgz#e6d771afb58d0b59c19c5364af5a42a3dfd17219" + integrity sha512-sbFnSXE6PlmYsbPXpKtEOR3YdVlSn63HhbPgQB3J5jm27wwQtnZ2Lf21I7BdiRBsHwwbf75C/s2pjNqafaRrgQ== + "@0x/contract-wrappers@^9.1.6", "@0x/contract-wrappers@^9.1.7": version "9.1.8" resolved "https://registry.yarnpkg.com/@0x/contract-wrappers/-/contract-wrappers-9.1.8.tgz#5923d35af3e4b442a57d02f74e02620b2d5b1356" @@ -684,6 +753,36 @@ lodash "^4.17.11" uuid "^3.3.2" +"@0x/contracts-erc20@^2.2.7": + version "2.2.14" + resolved "https://registry.npmjs.org/@0x/contracts-erc20/-/contracts-erc20-2.2.14.tgz#bac2528a590c0f9668811cfd23948a941ae0ad30" + integrity sha512-zGCg0Yhu/0ZMnjfEZ4ho+VWv/f0sCUQa8xHz36owB3+vnBhzz2o3+vFCctdVVR33SVe2QSgS4A97iJ2M0UsH0g== + dependencies: + "@0x/base-contract" "^5.4.0" + "@0x/contracts-utils" "^3.2.4" + "@0x/types" "^2.4.3" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + "@0x/web3-wrapper" "^6.0.13" + ethereum-types "^2.1.6" + lodash "^4.17.11" + +"@0x/contracts-utils@^3.2.4": + version "3.2.4" + resolved "https://registry.npmjs.org/@0x/contracts-utils/-/contracts-utils-3.2.4.tgz#b5ae80684ac0542eb59925f52113ce2c8b1bdb2b" + integrity sha512-Jk3Ntdt4SUNaHua49ZBty9hMv3gwUJN5US9OLxotbrJSmqdMpZ47FD4MzQ8ORLNcnMRbtyecQabq6pJbezu2jw== + dependencies: + "@0x/base-contract" "^5.4.0" + "@0x/order-utils" "^8.4.0" + "@0x/types" "^2.4.3" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + "@0x/web3-wrapper" "^6.0.13" + bn.js "^4.11.8" + ethereum-types "^2.1.6" + ethereumjs-util "^5.1.1" + lodash "^4.17.11" + "@0x/coordinator-server@^0.1.3": version "0.1.3" resolved "https://registry.yarnpkg.com/@0x/coordinator-server/-/coordinator-server-0.1.3.tgz#5fbb7c11bb641aa5386797769cab9a68a7d15b79" @@ -713,6 +812,21 @@ typeorm "0.2.7" websocket "^1.0.25" +"@0x/dev-utils@^2.2.6": + version "2.3.3" + resolved "https://registry.npmjs.org/@0x/dev-utils/-/dev-utils-2.3.3.tgz#9b6df00fea357fa6da02b35ca93fc89d100e1992" + integrity sha512-Pi664W/jj1U6WU+kHEPyKpflBnmKRsclB69RaL7wpnvOOFjAPhFV2/0FvIZ25w62rMzKEpfD1/1NcZ7NjAk7OQ== + dependencies: + "@0x/subproviders" "^5.0.4" + "@0x/types" "^2.4.3" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + "@0x/web3-wrapper" "^6.0.13" + "@types/web3-provider-engine" "^14.0.0" + chai "^4.0.1" + ethereum-types "^2.1.6" + lodash "^4.17.11" + "@0x/json-schemas@^3.0.11", "@0x/json-schemas@^3.1.11": version "3.1.13" resolved "https://registry.yarnpkg.com/@0x/json-schemas/-/json-schemas-3.1.13.tgz#4b9010f1bdeaf2aef1daba1753aa2e5ecf57f654" @@ -722,6 +836,16 @@ jsonschema "^1.2.0" lodash.values "^4.3.0" +"@0x/json-schemas@^4.0.2": + version "4.0.2" + resolved "https://registry.npmjs.org/@0x/json-schemas/-/json-schemas-4.0.2.tgz#6f7c1dcde04d3acc3e8ca2f24177b9705c10e772" + integrity sha512-JHOwESZeWKAzT5Z42ZNvOvQUQ5vuRIFQWS0FNjYwV8Cv4/dRlLHd7kwxxsvlm9NxgXnOW0ddEDBbVGxhVSYNIg== + dependencies: + "@0x/typescript-typings" "^4.3.0" + "@types/node" "*" + jsonschema "^1.2.0" + lodash.values "^4.3.0" + "@0x/mesh-rpc-client@^4.0.1-beta": version "4.0.1-beta" resolved "https://registry.yarnpkg.com/@0x/mesh-rpc-client/-/mesh-rpc-client-4.0.1-beta.tgz#14db219ea398af5232811e63b7a1e5ca1de19a88" @@ -736,6 +860,29 @@ uuid "^3.3.2" websocket "^1.0.29" +"@0x/order-utils@^8.2.1", "@0x/order-utils@^8.2.2", "@0x/order-utils@^8.2.3", "@0x/order-utils@^8.2.4", "@0x/order-utils@^8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@0x/order-utils/-/order-utils-8.4.0.tgz#f7fe9c73f9fd82ab05ec3c04951049e904aab46a" + integrity sha512-EQh/YpfSKZSbfxetgN6RQmYuc2EpbpWF4f6WUAzm/JjXkCNAK429cMgofVr6Zy4U9ldj89zcODsnK6y6gnNIZQ== + dependencies: + "@0x/abi-gen-wrappers" "^5.3.2" + "@0x/assert" "^2.1.6" + "@0x/base-contract" "^5.4.0" + "@0x/contract-addresses" "^3.2.0" + "@0x/contract-artifacts" "^2.2.2" + "@0x/json-schemas" "^4.0.2" + "@0x/types" "^2.4.3" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + "@0x/web3-wrapper" "^6.0.13" + "@types/node" "*" + bn.js "^4.11.8" + ethereum-types "^2.1.6" + ethereumjs-abi "0.6.5" + ethereumjs-util "^5.1.1" + ethers "~4.0.4" + lodash "^4.17.11" + "@0x/subproviders@^4.1.1": version "4.1.2" resolved "https://registry.yarnpkg.com/@0x/subproviders/-/subproviders-4.1.2.tgz#ab7bb0f482b11ccb4615fb5dd8ca85199cd0ae23" @@ -765,6 +912,34 @@ optionalDependencies: "@ledgerhq/hw-transport-node-hid" "^4.3.0" +"@0x/subproviders@^5.0.4": + version "5.0.4" + resolved "https://registry.npmjs.org/@0x/subproviders/-/subproviders-5.0.4.tgz#e4b165634ef6a50c4bd41baacf0dbd2a9390c2f8" + integrity sha512-1LiGcOXkP5eUOl/0JRqkrqYtCvIL4NJj1GbbLIRq4TvkfqrRbF7zJM2SaayxPo3Z48zVsqk0ZE5+RrNAdK/Rrg== + dependencies: + "@0x/assert" "^2.1.6" + "@0x/types" "^2.4.3" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + "@0x/web3-wrapper" "^6.0.13" + "@ledgerhq/hw-app-eth" "^4.3.0" + "@ledgerhq/hw-transport-u2f" "4.24.0" + "@types/hdkey" "^0.7.0" + "@types/web3-provider-engine" "^14.0.0" + bip39 "^2.5.0" + bn.js "^4.11.8" + ethereum-types "^2.1.6" + ethereumjs-tx "^1.3.5" + ethereumjs-util "^5.1.1" + ganache-core "^2.6.0" + hdkey "^0.7.1" + json-rpc-error "2.0.0" + lodash "^4.17.11" + semaphore-async-await "^1.5.1" + web3-provider-engine "14.0.6" + optionalDependencies: + "@ledgerhq/hw-transport-node-hid" "^4.3.0" + "@0x/ts-doc-gen@^0.0.22": version "0.0.22" resolved "https://registry.yarnpkg.com/@0x/ts-doc-gen/-/ts-doc-gen-0.0.22.tgz#c9c215899695dcd4320a1711291be40050ddbc0e" @@ -778,6 +953,45 @@ typedoc-plugin-markdown "^2.1.0" yargs "^10.0.3" +"@0x/types@^2.4.0", "@0x/types@^2.4.1", "@0x/types@^2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@0x/types/-/types-2.4.3.tgz#ea014889789e9013fdf48ce97b79f2c016e10fb3" + integrity sha512-3z4ca9fb9pyTu9lJhTSll5EuEthkA3tLAayyZixCoCnwi4ok6PJ83PnMMsSxlRY2iXr7QGbrQr6nU64YWk2WjA== + dependencies: + "@types/node" "*" + bignumber.js "~8.0.2" + ethereum-types "^2.1.6" + +"@0x/typescript-typings@^4.2.2", "@0x/typescript-typings@^4.2.3", "@0x/typescript-typings@^4.2.4", "@0x/typescript-typings@^4.3.0": + version "4.3.0" + resolved "https://registry.npmjs.org/@0x/typescript-typings/-/typescript-typings-4.3.0.tgz#4813a996ac5101841d1c22f4aa1738ab56168857" + integrity sha512-6IH2JyKyl33+40tJ5rEhaMPTS2mVuRvoNmoXlCd/F0GPYSsDHMGObIXOkx+Qsw5SyCmqNs/3CTLeeCCqiSUdaw== + dependencies: + "@types/bn.js" "^4.11.0" + "@types/react" "*" + bignumber.js "~8.0.2" + ethereum-types "^2.1.6" + popper.js "1.14.3" + +"@0x/utils@^4.3.3", "@0x/utils@^4.4.0", "@0x/utils@^4.4.1", "@0x/utils@^4.4.2", "@0x/utils@^4.5.2": + version "4.5.2" + resolved "https://registry.npmjs.org/@0x/utils/-/utils-4.5.2.tgz#6cc89f2d0dda341e0fb4e76049a35abfb67a4ac5" + integrity sha512-NWfNcvyiOhouk662AWxX0ZVe4ednBZJS9WZT/by3DBCY/WvN7WHMpEy9M5rBCxO+JJndLYeB5eBztDp7W+Ytkw== + dependencies: + "@0x/types" "^2.4.3" + "@0x/typescript-typings" "^4.3.0" + "@types/node" "*" + abortcontroller-polyfill "^1.1.9" + bignumber.js "~8.0.2" + chalk "^2.3.0" + detect-node "2.0.3" + ethereum-types "^2.1.6" + ethereumjs-util "^5.1.1" + ethers "~4.0.4" + isomorphic-fetch "2.2.1" + js-sha3 "^0.7.0" + lodash "^4.17.11" + "@0x/web3-providers-fork@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@0x/web3-providers-fork/-/web3-providers-fork-0.0.7.tgz#9cf40ebb6a2aa230283c5accb195d92594bb0aa7" @@ -794,6 +1008,20 @@ websocket "^1.0.28" xhr2-cookies "1.1.0" +"@0x/web3-wrapper@^6.0.13", "@0x/web3-wrapper@^6.0.7", "@0x/web3-wrapper@^6.0.8": + version "6.0.13" + resolved "https://registry.npmjs.org/@0x/web3-wrapper/-/web3-wrapper-6.0.13.tgz#2e666221bd44ceebe02762028214d4aa41ad7247" + integrity sha512-LQjKBCCNdkJuhcJld+/sy+G0+sJu5qp9VDNNwJGLDxWIJpgoshhUpBPi7vUnZ79UY4SYuNcC4yM9yI61cs7ZiA== + dependencies: + "@0x/assert" "^2.1.6" + "@0x/json-schemas" "^4.0.2" + "@0x/typescript-typings" "^4.3.0" + "@0x/utils" "^4.5.2" + ethereum-types "^2.1.6" + ethereumjs-util "^5.1.1" + ethers "~4.0.4" + lodash "^4.17.11" + "@0xproject/npm-cli-login@^0.0.11": version "0.0.11" resolved "https://registry.yarnpkg.com/@0xproject/npm-cli-login/-/npm-cli-login-0.0.11.tgz#3f1ec06112ce62aad300ff0575358f68aeecde2e" @@ -6634,6 +6862,14 @@ ethereum-common@^0.0.18: version "0.0.18" resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" +ethereum-types@^2.1.3, ethereum-types@^2.1.4, ethereum-types@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/ethereum-types/-/ethereum-types-2.1.6.tgz#57d9d515fad86ab987c0f6962c4203be37da8579" + integrity sha512-xaN5TxLvkdFCGjGfUQ5wV00GHzDHStozP1j+K/YdmUeQXVGiD15cogYPhBVWG3pQJM/aBjtYrpMrjywvKkNC4A== + dependencies: + "@types/node" "*" + bignumber.js "~8.0.2" + ethereumjs-abi@0.6.5: version "0.6.5" resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241"